Sql-Server
將 UPDATE 語句的 OUTPUT 定向到局部變數
我想這樣做:
DECLARE @Id INT; UPDATE Logins SET SomeField = 'some value' OUTPUT @Id = Id WHERE EmailAddress = @EmailAddress -- this is a parameter of the sproc
這甚至可能嗎?我知道我可以聲明一個本地表變數並將輸出定向到那裡,但如果可能的話我寧願跳過它
不,因為您可能會
OUTPUT
處理多行,這不適合標量變數。您需要輸出到
@Table
變數或聲明的表中以處理多行輸出。
declare @status_atividade bit; update t1 set t1.idioma = t2.idioma, t1.regiao = t2.regiao, t1.fuso_horario = t2.fuso_horario, @status_atividade = t2.status_atividade from @usuario as t1 join dbo.locatario as t2 on t1.id_locatario = t2.id_locatario select @status_atividade