我试图找到一种最经济的方法来实现返回我想要的数据并更新同一个存储过程中的另一个表。
我在下面大大简化了我的 SQL 来说明我的问题。这是我想要实现的目标:
DECLARE @UserID INT
SELECT TOP(1) @UserID = UserID, UserName, email, (#Loads of other columns#) FROM Users
UPDATE Logins SET LoggedIn = 1 WHERE UserID = @UserID
我知道我可以通过确保所有返回的列都分配给一个局部变量来做到这一点,但是有太多的列不能成为一个有效的 SPROC。
我不想执行两次 SELECT 语句(一次返回数据,一次设置变量,准备更新语句)
有什么建议吗?谢谢,斯科特