将UDF的语句加载到字符串变量中

时间:2011-04-20 17:15:03

标签: sql-server tsql sql-server-2008 user-defined-functions

我们有一个使用UDF的存储过程。我们需要动态修改这些UDF的内容。是的,我知道,我知道......不是我的选择。这正是我们要做的事情:

  1. 阅读UDF的内容
  2. 修改内容并创建新的UDF
  3. executesql声明中使用UDF
  4. 有没有办法将udf的内容放入varchar(或nvarchar)中,然后我可以使用字符串函数进行修改?

1 个答案:

答案 0 :(得分:3)

select object_definition(object_id('UDFName'))
  

有没有办法获取内容   将udf转换为varchar(或nvarchar)   然后我可以使用字符串进行修改   功能

declare @str nvarchar(max) 

-- get function definition to @str
select @str = object_definition(object_id('UDFName'))

-- Modify definition
set @str = replace(@str, 'CREATE FUNCTION', 'ALTER FUNCTION')

-- execute alter function
exec (@str)