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

Sql server 将UDF语句加载到字符串变量中,sql-server,tsql,sql-server-2008,user-defined-functions,Sql Server,Tsql,Sql Server 2008,User Defined Functions,我们有一个使用UDF的存储过程。我们需要动态修改这些UDF的内容。是的,我知道,我知道。。。不是我的选择。这正是我们要做的: 阅读UDF的内容 修改内容并创建新的自定义项 在executesql语句中使用UDF 有没有一种方法可以将udf的内容放入varchar或nvarchar中,然后使用字符串函数进行修改 select object_definition(object_id('UDFName')) 有没有办法获取 将udf转换为varchar或nvarchar 然后我可以使用字符串修改它

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

阅读UDF的内容 修改内容并创建新的自定义项 在executesql语句中使用UDF 有没有一种方法可以将udf的内容放入varchar或nvarchar中,然后使用字符串函数进行修改

select object_definition(object_id('UDFName'))
有没有办法获取 将udf转换为varchar或nvarchar 然后我可以使用字符串修改它 功能

select object_definition(object_id('UDFName'))

不必赘述,但这听起来很痛苦,它是从sys.sql\u模块中选择定义的,其中object\u id=object\u id'foo.bar'。这听起来是一个可怕的想法,原因很多。我能问你为什么有这个要求吗?啊!我感觉到你的痛苦。确保使用竞争条件测试最终解决方案,在完成第一个过程之前,您需要知道其他过程不会神秘地改变您的UDF。像@Martin一样,我很想知道为什么这是一个要求。