Sql 在没有临时表的情况下记录刚刚选择的内容?
在存储过程中,我使用传入的变量从表中进行选择。然后,我想记录所选内容。有没有不使用临时表或表变量的方法来实现这一点 select语句:Sql 在没有临时表的情况下记录刚刚选择的内容?,sql,logging,sql-server-2000,Sql,Logging,Sql Server 2000,在存储过程中,我使用传入的变量从表中进行选择。然后,我想记录所选内容。有没有不使用临时表或表变量的方法来实现这一点 select语句: Select userId, firstName, lastName, address from myTable where userName = @userName and password = @password 然后,我想记录所选的用户名、姓氏、姓氏和地址。因此: Insert into loginLog...[results gotten above]
Select userId, firstName, lastName, address
from myTable
where userName = @userName and password = @password
然后,我想记录所选的用户名、姓氏、姓氏和地址。因此:
Insert into loginLog...[results gotten above]
注意:如果只返回一个结果,我只想记录它。如果返回了多个结果,我仍然希望选择所有结果,但我不想记录它。使用
select
在存储过程中填充局部变量。记录结果,然后选择变量将其返回给调用者:
declare
@userID int ,
@firstName varchar(255) ,
@lastName varchar(255) ,
@address varchar(255) ,
@rows int
select @userID = userId ,
@firstName = firstName ,
@lastName = lastName ,
@address = address
from myTable
where ...
set @rows = @@rowcount
insert loginLog
select @userID , @firstName , @lastName , @address
where @rows > 0
select userID = @userID ,
firstName = @firstName ,
lastName = @lastName ,
address = @address
where @rows > 0
这正是我输入的答案。嗯,格式可能会有所不同,但仅此而已……我意识到我犯了一个错误,结果可能不止一个。只是我只想在有多个结果的情况下记录它。有鉴于此,您的答案不再有效…然后您将被一个临时表困住。您可能会用SQL跟踪连接一些东西来捕获所需的表选择,但性能影响会令人不快。只需提及,OUTPUT子句在这里会很有用。。。但他们只是在SQL2005中添加了这一点。