Ich möchte dies tun:
DECLARE @Id INT;
UPDATE Logins
SET SomeField = 'some value'
OUTPUT @Id = Id
WHERE EmailAddress = @EmailAddress -- this is a parameter of the sproc
Ist das überhaupt möglich? Ich weiß, dass ich eine lokale Tabellenvariable deklarieren und die Ausgabe dorthin leiten kann, aber ich würde es vorziehen, wenn möglich, sie zu überspringen
SELECT
. Ich erhalte den Fehler"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."
Dies ist ein bisschen unglücklich, weil es eine wirklich saubere Lösung ist, wenn Sie wissen, dass Sie nur eine einzelne Zeile betreffen.