Как назначить вставленное значение вывода переменной на сервере sql? Возможный дубликат: Вывод SQL Server в скалярную переменную DECLARE @id int INSERT INTO MyTable(name) OUTPUT @id = Inserted.id VALUES('XYZ') Я пытаюсь, как выше. Как это возможно? Ответ 1 Использовать переменную таблицы для получения id DECLARE @id int DECLARE @table table (id int) INSERT INTO MyTable(name) OUTPUT inserted.id into @table VALUES('XYZ') SELECT @id = id from @table Ответ 2 Вы можете попробовать использовать функцию Scope_identity. Следующий блог содержит следующее объяснение: http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/ http://msdn.microsoft.com/en-us/library/ms190315.aspx
Ответ 1 Использовать переменную таблицы для получения id DECLARE @id int DECLARE @table table (id int) INSERT INTO MyTable(name) OUTPUT inserted.id into @table VALUES('XYZ') SELECT @id = id from @table
Ответ 2 Вы можете попробовать использовать функцию Scope_identity. Следующий блог содержит следующее объяснение: http://blog.sqlauthority.com/2007/03/25/sql-server-identity-vs-scope_identity-vs-ident_current-retrieve-last-inserted-identity-of-record/ http://msdn.microsoft.com/en-us/library/ms190315.aspx