Есть ли способ одновременно ВЫБРАТЬ и ОБНОВИТЬ строки?

Много лет спустя ...

Принятый sql-syntax ответ использования предложения mssql OUTPUT - это хорошо. Мне sql-server-2008 пришлось докопаться до синтаксиса, и ms-sql-server вот он:

DECLARE @UpdatedIDs table (ID int)
UPDATE 
    Table1 
SET 
    AlertDate = getutcdate() 
OUTPUT
    inserted.Id
INTO
    @UpdatedIDs
WHERE 
    AlertDate IS NULL;

ДОБАВЛЕНО 14 сентября 2015 sqlselect г .:

"Могу ли я использовать mssql скалярную переменную вместо sql2008 табличной переменной?" можно tsql спросить ... Извините, но sql-server нет, не можете. Вам нужно tsql будет SELECT @SomeID = ID from @UpdatedIDs, если вам нужен единый ssms-2008 идентификатор.

sql

sql-server

tsql

sql-server-2008

2022-11-12T21:30:42+00:00