因為函數中不能執行內部命令exec()、sp_executesql等,保能在存儲過程中使用。

解决方案 »

  1.   

    但是在查询分析器中单独运行函数是可以的declare @str varchar(300)
    exec @str=funcname @aa,@bb
    print @str这样运行没问题
      

  2.   

    create proc Test
    (参数1 类型
    ....
    )
    as 
    declare @str varchar(2000)
    declare @szTempDBName varchar(20),
    @tem_Str nvarchar(4000)
    begin
    set @str=''
    set @szTempDBName='vw_SJQJ_SF'set @tem_str='select TOP 3 @str=@str+''、''+rtrim(器具名称) from '+@szTempDBName+''exec sp_executesql @tem_str,N'@str varchar(2000) out,@szTempDBName varchar(20)',@str out ,@szTempDBName--print @str
    end