在while循环中使用select语句结果

时间:2016-12-16 11:54:08

标签: sql-server while-loop

我有这个问题:

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

我怎样才能做到这一点?

1 个答案:

答案 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