【问题标题】:Count of DROP Statements Executed for sp_MSforeachtable为 sp_MSforeachtable 执行的 DROP 语句计数
【发布时间】:2013-04-08 11:33:11
【问题描述】:

Am 删除数据库中的所有表名

EXEC sp_MSforeachtable 'DROP TABLE ?'

有什么方法可以让我计算删除的表数。

谢谢, 秘鲁

【问题讨论】:

    标签: sql-server-2008 drop-table


    【解决方案1】:
    DECLARE @before int;
    
    SELECT @before = COUNT(*) FROM sys.tables;
    EXEC sp_MSforeachtable 'DROP TABLE ?'
    SELECT @before - COUNT(*) FROM sys.tables
    

    【讨论】:

    • SELECT COUNT(*) - @before FROM sys.tables 返回 NULL
    • 第一个 SELECT 分配它。它将为零。 stackoverflow.com/questions/2552086/…
    • 我得到 NULL。第二个 SELECT 做什么?第一个返回数字第二个 SELECT 返回 NULL
    • 在我的问题中添加了结果截图
    • 第二次选择计算前后的差值。要获得 NULL,您必须在 @before 中有 NULL。我已经尝试过了,它对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 2020-12-19
    • 1970-01-01
    • 2019-08-04
    • 2013-03-13
    • 1970-01-01
    相关资源
    最近更新 更多