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

标签 sql-server t-sql sql-server-2008 user-defined-functions

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

  1. 读取 UDF 的内容
  2. 修改内容并创建新的UDF
  3. executesql 语句中使用 UDF

有没有办法将 udf 的内容转换为 varchar(或 nvarchar),然后我可以使用字符串函数进行修改?

最佳答案

select object_definition(object_id('UDFName'))

Is there a way to get the contents of a udf into a varchar (or nvarchar) that I can then modify using string functions?

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)

关于sql-server - 将 UDF 的语句加载到字符串变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5734115/

相关文章:

sql-server - 无法向 Management Studio 中的 SQL Server 表添加新列

mysql - 我无法在 SQL Server 中创建到 MySQL 的链接服务器

sql-server - 不使用透视选项在 SQL 表中转出数据

sql-server - 使用生成的 DDL 时为 "<xyz> must be the first statement in a query batch"

sql-server - 对于大型表,SET SYSTEM_VERSIONING = ON 期间超时

c# - 拆分字符串并插入数据库

sql-server - 如何加速 mssql_connect()

c# - 将数据从远程服务器拉到本地服务器......最好,最安全的方式

node.js - 根据 API 请求失去与 SQL Server 和 Node 的连接

sql - 如何在 XML 列上使用 xpath 来选择行?