ฉันต้องการทำสิ่งนี้:
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."
นี่เป็นเรื่องที่โชคร้ายเพราะมันเป็นโซลูชั่นที่สะอาดจริงๆเมื่อคุณรู้ว่าคุณส่งผลกระทบต่อแถวเดียว