Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как записать insert output в целочисленную переменную?  [new]
Kudep
Member

Откуда: From Russia
Сообщений: 146
как записать insert output в целочисленную переменную?
Так не получается:
	declare @resultID bigint
	INSERT INTO [MyTable] (@var1, @var, @var3...)
	output inserted.ID into @resultID
автор
Must declare the table variable "@taskID".
6 сен 11, 13:37    [11234135]     Ответить | Цитировать Сообщить модератору
 Re: как записать insert output в целочисленную переменную?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А где в описании синтаксиса вы увидели, что output можно писать в обычную переменную?

Сообщение было отредактировано: 6 сен 11, 13:41
6 сен 11, 13:41    [11234180]     Ответить | Цитировать Сообщить модератору
 Re: как записать insert output в целочисленную переменную?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Кстати, если не напрямую, тот тоже не прокатывает:

if object_id('tempdb..#t') is not null
    drop table #t
    
create table #t (
    id int  not null identity
)
declare
    @id     int
    
select
    @id = a.id
from ( insert #t output inserted.id  default values ) as a ( id )

Msg 10729, Level 15, State 1, Line 12
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.

Так что через табличку.
6 сен 11, 13:48    [11234270]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить