Я хотів би зробити це:
DECLARE @Id INT;
UPDATE Logins
SET SomeField = 'some value'
OUTPUT @Id = Id
WHERE EmailAddress = @EmailAddress -- this is a parameter of the sproc
Це навіть можливо? Я знаю, що можу оголосити змінну локальної таблиці і направити туди вихід, але я вважаю за краще пропустити її
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."
Це якось невдало, оскільки це дійсно чисте рішення, коли ви знаєте, що зачіпаєте лише один ряд.