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' 的效果

  • 相关阅读:
    怎么防止重复提交
    如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
    什么是 JavaConfig?
    Spring Boot 有哪些优点?
    GBK和GB2312编码
    2.补充:计算机表示的单位:
    python中字符串的编码和解码
    Spring Boot 有哪些优点?
    Maven的工程类型有哪些?
    Maven仓库是什么
  • 原文地址:https://www.cnblogs.com/highend/p/transact_sql_examples_for_show_all_tabls_row_count.html
Copyright © 2011-2022 走看看