不好意思,应该是这样:
CREATE function f_1(@appdept VARCHAR(20),@cond varchar(1000) )
returns varchar(8000)
as
begin
declare @str varchar(8000)
declare @command varchar(8000)
set @str=''
set @command='select @str=@str+'',''+convert(varchar(20), id) from bgyp_app where appdept='+@appdept+' and '+@cond
exec (@command) --应该是这儿报错
set @str=right(@str,len(@str)-1)
return(@str)
End
CREATE function f_1(@appdept VARCHAR(20),@cond varchar(1000) )
returns varchar(8000)
as
begin
declare @str varchar(8000)
declare @command varchar(8000)
set @str=''
set @command='select @str=@str+'',''+convert(varchar(20), id) from bgyp_app where appdept='+@appdept+' and '+@cond
exec (@command) --应该是这儿报错
set @str=right(@str,len(@str)-1)
return(@str)
End
输出参数
eg:
declare @num,
@sqls
set @sqls='select count(*) from '+@servername+'a.dbo.b'
exec(@sqls)
我如何能将exec执行的结果存入变量@num中declare @num int,
@sqls nvarchar(4000)
set @sqls='select @a=count(*) from '+@servername+'.a.dbo.b'
exec sp_executesql @sqls,N'@a int output',@num output
select @num
今天你是第二次帮我了。这个函数也是在你给我写的原型上改的。