我们有一个使用UDF的存储过程。我们需要动态修改这些UDF的内容。是的,我知道,我知道......不是我的选择。这正是我们要做的事情:
executesql
声明中使用UDF 有没有办法将udf的内容放入varchar(或nvarchar)中,然后我可以使用字符串函数进行修改?
答案 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)