sql - 从Sql Server删除所有 View

标签 sql sql-server-2008 sp-msforeachtable

通过在SQL Server中使用以下语句:

EXEC sp_msforeachtable 'DROP TABLE ?'

我知道可以一次删除所有表。

是否有类似的观点陈述?我尝试过这种希望是幸运的:
EXEC sp_msforeachview'DROP VIEW?'但这不起作用!

最佳答案

在这里,您不需要游标:

DECLARE @sql VARCHAR(MAX) = ''
        , @crlf VARCHAR(2) = CHAR(13) + CHAR(10) ;

SELECT @sql = @sql + 'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(v.name) +';' + @crlf
FROM   sys.views v

PRINT @sql;
EXEC(@sql);

关于sql - 从Sql Server删除所有 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11689557/

相关文章:

sql - 计算 SQL 字符串值中某个字符的出现次数?

sql-server - 如何根据sql中的选定数据集重复行

sql-server - 如何在同一查询中同时使用 sp_msforeachtable 和 sp_msforeachdb?

mysql order by 来自不同的表打破了排名

mysql - 字符串外键更改的理论错误

mysql - 从 MS SQL 中的值更新 MySQL 数据库

t-sql - sp_msforeachtable 没有给我正确的结果

python - 给定唯一 ID,仅选择与之前的行相比列发生更改的行

sql - 使用维恩图来描述表为集合的 SQL 连接是否合适?