Вы можете использовать OUTPUT
, например:
DECLARE @tmp TABLE (Id int not null)
UPDATE TOP (1) [YourTable]
SET [YourColumn] = newValue
OUTPUT inserted.Id INTO @tmp
SELECT * FROM @tmp
(добавить больше столбцов, чтобы удовлетворить)
Обратите внимание, что INTO
здесь необходимо в случае general , чтобы избежать проблем с триггерами; в противном случае часто можно увидеть:
В целевой таблице 'YourTable' оператора DML не может быть никаких включенных триггеров, если оператор содержит предложение OUTPUT без предложения INTO.