--给一个邹老大的例子
--邹建 2004-4--*/
create function f_split(
@str varchar(8000), --要分拆的字符串
@splitchar varchar(10) --分隔符
)returns table
as
return(
select re=substring(@str,id,charindex(@splitchar,@str+@splitchar,id)-id)
from 序数表
where id<=len(@str)+1 and charindex(@splitchar,@splitchar+@str,id)-id=0
)
go
--调用
select * from f_split('asdlkfa,asf as,dda,adfsad',',')
你要返回个表 当然需要用函数
exec 存儲過程
這個我知道,但是這樣一定得表存在才行。表不存在也可以嗎
insert into #tbtest exec pr_rsTest--把返回的结果报错到临时表里select * from #tbtest--对临时表操作
drop table #tbtestCreate PROCEDURE pr_rsTest
AS
Declare @SQL nvarchar(4000)
Set @SQL='select * from tb_test'
-- @SQL是根据传入参数动态组合的,此仅为示例
exec (@SQL) --如果以EXEC方式执行,总是不能返回数据集
select * into ##表 from (动态语句)a
函数
select * from ##表
drop ##表