一个存储过程,要把拼接的字符串执行的结果当做子查询的表或者把这个结果放到表变量中:declare @sql varchar(8000)
declare @tempTable table(department varchar(50))set @sql='select * from sysDepartment ' (exec @sql) as a //这有问题,怎么把 exec @sql 执行的结果当成一个表来处理
declare @tempTable table(department varchar(50))set @sql='select * from sysDepartment ' (exec @sql) as a //这有问题,怎么把 exec @sql 执行的结果当成一个表来处理
--建个表,insert into tb exec(@sql)create table #temp(id int)
goinsert into #temp exec('select 1')
select * from #tempdrop table #tempid
-----------
1(1 行受影响)
create table #tempTable(department varchar(50))set @sql='insert #tempTable select * from sysDepartment ' (exec @sql)select * from #tempTable
insert into @tb exec up_xx 都行。
楼上这个可以
不过要先 CREATE TABLE @tb(......)
才行的
declare @ccount int,@csql nvarchar(200)
set @ccount = 2
set @csql='select @a=1'
exec sp_executesql @csql,N'@a int output',@ccount output--将exec的结果放入变量中的做法
select @ccount