首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

动态sql语句解决方案

2012-04-07 
动态sql语句现在有一个函数,如下:CREATEFUNCTIONdbo.search_se(@idnvarchar(10))RETURNSnvarchar(300)ASBE

动态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

热点排行