Определить переменную Concatinate в динамическом запросе
Я строю динамический запрос. Внутри него я объявляю переменные. Теперь я хочу объединить эту переменную в моем запросе вставки
declare @qry nvarchar(MAX)
select @qry='Declare @var1 nvarchar(10); set @var1 =''abcd''
insert into mytable (col1) values ('+@var1+')'
Когда я выполняю этот код, он дает мне ошибку
Необходимо объявить скалярную переменную "@var1".
Но если я объявляю @ var1 вне @qry, то он работает нормально. У меня проблема с конкатенацией значения переменной.
Пожалуйста помоги
Спасибо
1 ответ
Тебе этого не сделать. Контекст выполнения динамического запроса отличается от внешнего скрипта.
это будет работать
declare @qry nvarchar(MAX)
Declare @var1 nvarchar(10);
set @var1 ='abcd'
select @qry='insert into mytable (col1) values ('+@var1+')'