读书人

帮帮忙解决方案

发布时间: 2012-01-19 20:57:58 作者: rapoo

帮帮忙
create function [dbo].[joinString](@str varchar(300),@tablename varchar(100))
returns varchar(300)
as
begin
declare @sql varchar(1000)
declare @temp varchar(300)
set @temp= ' '
set @sql= 'select '+@temp+ '= '+@temp+ '+ProductName from '+@tablename+ ' where dbo.StringReplace(CountUrl)= '+@str+ ' '
exec(@sql)
return @temp
end
这个不行

create function [dbo].[joinString](@str varchar(300),@tablename varchar(100))
returns varchar(300)
as
begin

declare @temp varchar(300)
set @temp= ' '
select @temp=@temp+ProductName from @tablename where dbo.StringReplace(CountUrl)=@str
return @temp
end

为什么函数里面不能这样使用,@tablename这么变量怎么不能使用了~

[解决办法]
函数里面不能执行动态的SQL
换成存储过程把~


[解决办法]
主要是function里不能用exec

读书人网 >SQL Server

热点推荐