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

Откуда:
Сообщений: 107
Как возможно использовать подобный код:

declare
@m_main table( name varchar(50), value varchar(max) )
declare
@m_sql varchar(max)

set @m_sql = 'insert into @m_main( name, value ) values( ''a'', ''b'' )'
exec(@m_sql)

В результате выполнения exec говорит что не знает ничего об @m_main.
Сообщение 1087, уровень 15, состояние 2, строка 1
Необходимо объявить табличную переменную "@m_main".

Как "ему указать" на переменную @m_main ?
18 май 11, 18:55    [10673922]     Ответить | Цитировать Сообщить модератору
 Re: Inserty в dsql при использовании exec  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Заменить @m_main на #m_main.
18 май 11, 18:56    [10673926]     Ответить | Цитировать Сообщить модератору
 Re: Inserty в dsql при использовании exec  [new]
bloodrain
Member

Откуда:
Сообщений: 107
Гавриленко Сергей Алексеевич
Заменить @m_main на #m_main.

То есть использовать временные таблицы?
18 май 11, 19:00    [10673952]     Ответить | Цитировать Сообщить модератору
 Re: Inserty в dsql при использовании exec  [new]
insert...exec
Guest
declare
	@m_main table( name varchar(50), value varchar(max) )
declare
             @m_sql varchar(max)


set @m_sql = 'select ''a'', ''b'''

insert into @m_main( name, value ) 
exec(@m_sql)
18 май 11, 19:27    [10674058]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить