读书人

动态sql语句解决方案

发布时间: 2012-04-07 17:31:52 作者: rapoo

动态sql语句
现在有一个函数,如下:
CREATE FUNCTION dbo.search_se(@id nvarchar(10))
RETURNS nvarchar(300)
AS
BEGIN

DECLARE @re nvarchar(3000)
SET @re= ' '
SELECT @re=@re+ '/ '+ CAST(Bs as varchar)
FROM tableName
WHERE Id=@Id
return STUFF(@re,1,1, ' ')
END
现在tableName需要改变且该函数在多个存储过程中都调用。经过查资料发现函数内不能使用动态SQL。现在该怎么办?

[解决办法]
用存储过程也可以实现
CREATE proc search_se
@id nvarchar(10),
@re nvarchar(3000) output
AS

SET @re= ' '
SELECT @re=@re+ '/ '+ CAST(Bs as nvarchar)
FROM tableName
WHERE Id=@Id

读书人网 >SQL Server

热点推荐