zoukankan      html  css  js  c++  java
  • TransactSQL 示例 查询某个数据库内的所有表的记录行数及其总和

    直接上SQL脚本

    CREATE PROCEDURE dbo.ShowAllTableRows
       @databaseName NVARCHAR(100)
    AS
    BEGIN
       --declare @databaseName nvarchar(100)
       --set @databaseName = 'tempdb'
       DECLARE @dynamicSql NVARCHAR(4000)
       SET @dynamicSql =    
       N'USE ' + @databaseName + N';
       SET NOCOUNT ON;
       DECLARE cur CURSOR LOCAL 
          FORWARD_ONLY READ_ONLY
       FOR 
          SELECT 
             ''['' + s.name + '']'' 
             + ''.['' + t.name + '']'' TableName
          FROM 
             sys.tables t INNER JOIN sys.schemas s 
                ON t.schema_id = s.schema_id;
                
       OPEN cur
    
       --IF EXISTS (SELECT object_id(N''tempdb..#table''))
       --   DROP TABLE #table
    
       CREATE TABLE #table (
          [TableName] NVARCHAR(300) PRIMARY KEY,
          [Rows] INT
       )
    
       DECLARE @tableName VARCHAR(100)
    
       FETCH NEXT FROM cur 
       INTO @tableName
    
       WHILE @@FETCH_STATUS = 0
       BEGIN
          DECLARE @sql NVARCHAR(2000)
          SET @sql = ''INSERT INTO #table ([TableName], [Rows]) VALUES (''
          SET @sql = @sql + '''''''' + @tableName + '''''', '' 
             + ''(SELECT COUNT(*) FROM '' + @tableName + ''))''
             
          exec sp_executesql @sql
          --print @sql
                
          FETCH NEXT FROM cur 
          INTO @tableName
       END
    
       CLOSE cur
       DEALLOCATE cur
    
       SELECT * FROM #table ORDER BY [Rows] DESC
       DECLARE @allRows INT;
       SET @allRows = (SELECT SUM([Rows]) FROM #table);
       PRINT @allRows;';
       
       --PRINT @dynamicSql;
       exec sp_executesql @dynamicSql
    END
    

    执行: dbo.ShowAllTableRows 'AdventureWorks' 的效果

  • 相关阅读:
    设计模式--单例模式(Singleton)
    C# 和.Net 特性
    Fiddler 教程
    史铁生遗作:昼信基督夜信佛
    如何实现早日退休理想
    Linux 常用
    Golang 读书
    Python 读书
    RbMQ 简介
    UML 简介
  • 原文地址:https://www.cnblogs.com/highend/p/transact_sql_examples_for_show_all_tabls_row_count.html
Copyright © 2011-2022 走看看