zoukankan      html  css  js  c++  java
  • 如何遍历某数据库中的每一个表的总记录数

     1 上网搜集了很多资料,终于写出可以执行的一个存储过程了,如下:
     2  
     3 SET ANSI_NULLS ON
     4 GO
     5 SET QUOTED_IDENTIFIER ON
     6 GO
     7  
     8 --重点开始了
     9 CREATE PROCEDURE [dbo].[hrmis_counts]
    10  
    11 AS
    12 BEGIN
    13     --声明游标
    14     Declare MyCursor Cursor
    15         For Select name From hrmis..sysobjects where xtype='u'
    16         --"hrmis"是我需要查询的数据库名称
    17         --"xtype='u'"的意思是:只查询用户表,系统表不要,但可能会出错,网上有资料防止这种意外,至少我没有报错,就不理了。
    18     
    19     --打开游标
    20     Open MyCursor
    21             --定义变量
    22             Declare @tableName nvarchar(max),@sql nvarchar(max),@counts int
    23                 Fetch Next From MyCursor Into @tableName
    24                 While @@Fetch_status = 0
    25                 --@@Fetch_status = 0是指:游标未到末尾
    26                     Begin
    27                         Set @sql = 'Select @counts=count(*) From '+ @tableName
    28                         --print @sql
    29                         --Exec(@sql)
    30                         --上面这句会报错的“@counts未定义之类的,我忘了,有兴趣自己试试”,反正不能直接执行就是了。
    31                         --正确的写法是下面这句
    32                         Exec sp_executesql @sql,N'@counts Int out',@counts out
    33                         --好吧,我承认我也不太了解这条语句的含意,但这是不重点,重点是,它执行成功了。
    34                         If @counts > 10000
    35                         --只显示记录数大于1W的表名(这里随意就好了,不要也行)
    36                         print (Convert(nvarchar(max),@counts) +'......'+ @tableName)
    37                         Fetch Next From MyCursor Into @tableName
    38                     End
    39      --关闭游标
    40     Close MyCursor
    41     Deallocate MyCursor
    42 End
    43 GO

    保存一下,然后执行此存储过程,就可以自动遍历数据库中的所有表(647个表哇,蛋疼),然后把记录数大于1W的表名跟相应的记录数都显示出来,统计就不用这么麻烦了。

  • 相关阅读:
    .NET CORE 3.1.5 跨域设置
    NET CORE WebAPI 搭建--基础搭建
    EF 表中中多次指定了列名解决办法
    .Net Core 3.1.2 区域路由配置【原创】
    浅谈DevOps
    阿里云服务器SQLSERVER 2019 远程服务器环境搭建【原创】【转载请注明出处】
    c# vs2019 Window服务搭建
    云服务器和域名的使用简历
    WAI-ARIA无障碍网页资料
    kendoUI toolbar kendoComboBox 使用
  • 原文地址:https://www.cnblogs.com/seasons1987/p/2568360.html
Copyright © 2011-2022 走看看