必要なデータを返す方法を実現し、同じストアド プロシージャ内の別のテーブルを更新する最も経済的な方法を見つけようとしています。
私の問題を説明するために、以下の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 ステートメントを 2 回実行する必要はありません (1 回はデータを返すため、もう 1 回は変数を設定するため、更新ステートメントの準備ができています)。
何か提案はありますか?ありがとう、スコット