1。自定义函数中不可以使用EXECUTE()
改为直接用Insert实现
2。把select * from @temp1 删掉

解决方案 »

  1.   

    参考邹建的字符串分割函数 --检查函数是否存在
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[fsplit]') and xtype in (N'FN', N'IF', N'TF'))
    drop function [dbo].[fsplit]
    GO--创建字符串分拆的函数
    create function fsplit(
    @str varchar(8000) --要分拆的字符串
    ,@spli varchar(10) --字符串分隔符
    )
    returns @re table(istr varchar(8000))
    as
    begin
    declare @i int,@splen int
    select @splen=len(@spli)
    ,@i=charindex(@spli,@str)
    while @i>0
    begin
    insert into @re values(left(@str,@i-1))
    select @str=substring(@str,@i+@splen,8000)
    ,@i=charindex(@spli,@str)
    end
    if @str<>'' insert into @re values(@str)
    return
    end