我有这个问题:
SELECT name FROM SomeDB.sys.objects WHERE type IN ('P') AND name LIKE('dbo%');
我现在要做的是使用我在while循环中从表中选择的名称。 像这样(伪代码)
WHILE (select < select.END)
BEGIN
DROP PROC select.name
END
我怎样才能做到这一点?
答案 0 :(得分:1)
对于删除数据库对象,您可以使用如下的动态脚本。如果存在任何依赖项,则需要先删除父项。
DECLARE @SQL NVARCHAR(MAX)
SET @SQL=(
SELECT 'DROP PROCEDURE '+NAME+';' FROM SYS.OBJECTS WHERE TYPE IN ('P')
FOR XML PATH('') )
--select @sql
EXEC SP_EXECUTESQL @SQL