declare
@s varchar(1000)
set @s = '1,23,a'
declare
@sql varchar(1000)
declare
@temptb table(IDList varchar(8000))
set @sql = 'select col= '''
+ replace(@s,',','''union all select ''')
+ ''''
print (@sql)
exec (@sql)
这里的结果我如何拿出来用啊
@s varchar(1000)
set @s = '1,23,a'
declare
@sql varchar(1000)
declare
@temptb table(IDList varchar(8000))
set @sql = 'select col= '''
+ replace(@s,',','''union all select ''')
+ ''''
print (@sql)
exec (@sql)
这里的结果我如何拿出来用啊
declare @num int, @sqls nvarchar(4000)
set @sqls='select count(*) from tableName'
exec(@sqls) --如何将exec执行结果放入变量中? declare @num int, @sqls nvarchar(4000)
set @sqls='select @a=count(*) from tableName '
exec sp_executesql @sqls,N'@a int output',@num output
select @num
declare
@s varchar(1000)
set @s = '1,23,a'
declare
@sql varchar(1000)
declare
@temptb table(IDList varchar(8000))
set @sql = 'insert # select col= '''
+ replace(@s,',','''union all select ''')
+ ''''
print (@sql)exec (@sql)
select * from #
/*
col
----------
1
23
a(3 行受影响)
*/
set @s = '1,23,a'
declare @sql varchar(1000)
declare @temptb table(IDList varchar(8000))
set @sql = 'select col= '''+replace(@s,',','''union all select ''')+''''
print (@sql)
insert @temptb exec (@sql)select * from @temptb
select col= '1'union all select '23'union all select 'a'(3 行受影响)
IDList
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1
23
a(3 行受影响)
或者所有应用都放于@sql中处理
或者通过创建临时表 用insert into ... exec(@sql) 将结果放于临时表中