gpt4 book ai didi

sql-server-2008 - 在将所有函数放入 SQL Server 之前,如何从 CLR 程序集中删除所有函数?

转载 作者:行者123 更新时间:2023-12-03 01:57:09 25 4
gpt4 key购买 nike

我收到“删除程序集失败,因为它被对象引用”错误。据我了解,我需要在删除该程序集之前删除引用该程序集的所有函数。有没有通用的方法可以做到这一点?

最佳答案

你需要一个像这样的小脚本:

DECLARE @sql NVARCHAR(MAX) = N'';
DECLARE @assembly_name NVARCHAR(MAX)='assembly'
SELECT @sql += '
DROP ' +
CASE
WHEN o.type='PC' THEN 'PROCEDURE '
ELSE 'FUNCTION '
END
+ QUOTENAME(o.Name)
+ ';'
FROM Sys.Assemblies asm
INNER JOIN SYS.ASSEMBLY_MODULES m ON asm.assembly_id=m.assembly_id
INNER JOIN SYS.OBJECTS o ON m.object_id = o.object_id
WHERE asm.name=@assembly_name
SET @sql=@sql+'
DROP ASSEMBLY '+QUOTENAME(@assembly_name)

PRINT @sql;
EXEC sp_executesql @sql;

但是,删除所有程序集的依赖对象并不安全,因此请注意将删除的内容。

关于sql-server-2008 - 在将所有函数放入 SQL Server 之前,如何从 CLR 程序集中删除所有函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com