在存储过程中,我使用传入的变量从表中进行选择。然后,我想记录所选的内容。有没有办法在不使用临时表或表变量的情况下执行此操作?
选择语句:
Select userId, firstName, lastName, address
from myTable
where userName = @userName and password = @password
然后,我想记录所选的userId,firstName,lastName和地址。所以:
Insert into loginLog...[results gotten above]
注意:如果只返回一个结果,我只想记录它。如果返回多个结果,我仍然想要选择所有结果,但我不想记录它。
答案 0 :(得分:2)
使用select
填充存储过程中的局部变量。记录结果,然后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