我正在构建一个动态查询。在里面,我已经声明了变量。现在我想在插入查询中连接这个变量
declare @qry nvarchar(MAX)
select @qry='Declare @var1 nvarchar(10); set @var1 =''abcd''
insert into mytable (col1) values ('+@var1+')'
当我执行此代码时,它会给我一个错误
必须声明标量变量“@ var1”。
但是如果我在@qry之外声明@ var1那么它运行正常。我在连接变量值方面遇到了问题。
请帮忙
由于
答案 0 :(得分:0)
你做不到。动态查询的执行上下文与外部脚本不同。
这将起作用
declare @qry nvarchar(MAX)
Declare @var1 nvarchar(10);
set @var1 ='abcd'
select @qry='insert into mytable (col1) values ('+@var1+')'