2015-08-21 2 views
0

Я создаю динамический запрос. Внутри я объявляю переменные. Теперь я хочу, чтобы объединить эту переменную в моем запросе вставкиКонкатенация переменной в динамическом запросе

declare @qry nvarchar(MAX) 
select @qry='Declare @var1 nvarchar(10); set @var1 =''abcd'' 
insert into mytable (col1) values ('[email protected]+')' 

Когда я выполняю этот код он даст мне ошибку

должен объявить скалярную переменную «@ var1».

Но если я объявляю @ var1 вне @qry, то он отлично работает. У меня проблема с конкатенацией значения переменной.

Пожалуйста, помогите

Благодарности

ответ

0

Вы не можете сделать это. Контекст выполнения динамического запроса отличается от внешнего скрипта.

это будет работать

declare @qry nvarchar(MAX) 
Declare @var1 nvarchar(10); 
set @var1 ='abcd' 
select @qry='insert into mytable (col1) values ('[email protected]+')' 
Смежные вопросы