Я хотел бы сделать это:
DECLARE @Id INT;
UPDATE Logins
SET SomeField = 'some value'
OUTPUT @Id = Id
WHERE EmailAddress = @EmailAddress -- this is a parameter of the sproc
Это вообще возможно? Я знаю, что могу объявить локальную табличную переменную и направить туда вывод, но я бы предпочел пропустить ее, если это возможно
sql-server
sql-server-2012
sql-server-2008
update
output-clause
Андрей Ринея
источник
источник
SELECT
. Я получаю ошибку"A nested INSERT, UPDATE, DELETE, or MERGE statement is not allowed in a SELECT statement that is not the immediate source of rows for an INSERT statement."
Это довольно неудачно, потому что это действительно чистое решение, когда вы знаете, что влияете только на один ряд.источник