一个自己之前没发现的问题
错误写法:
declare @s varchar(200)
Declare @tempTable table
(
定额号 varchar(10)
)
set @s = 'insert into @tempTable values(''' + 'JZ-BC001' + ''')'
exec(@S)
select * from @tempTable
提示 @tempTable 变量不存在
正确写法:
declare @s varchar(200)
set @s = 'Declare @tempTable table(定额号 varchar(10)) '
set @s = @s + 'insert into @tempTable values(''' + 'JZ-BC001' + ''')'
set @s = @s + 'select * from @tempTable'
exec(@S)
或
declare @t varchar(100)
Declare @tempTable table
(
定额号 varchar(10)
)
set @t = 'JZ-BC001'
insert into @tempTable values(@t)
select * from @tempTable
为啥在前面定义表变量 ,后面拼SQL语句,最后查询表变量就不可用呢!
1个关于 表变量与拼SQL语句 的问题