日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

如何遍歷某數據庫中的每一個表的總記錄數

系統 2160 0
      
         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的表名跟相應的記錄數都顯示出來,統計就不用這么麻煩了。

如何遍歷某數據庫中的每一個表的總記錄數


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 城市| 绥化市| 东阿县| 东乡县| 忻州市| 马山县| 屏东市| 平顶山市| 临安市| 涪陵区| 连州市| 满洲里市| 海安县| 余江县| 如皋市| 岢岚县| 南投市| 庆云县| 呼玛县| 吉木乃县| 延庆县| 晴隆县| 濮阳市| 霍林郭勒市| 仪征市| 都兰县| 汨罗市| 蓝田县| 海口市| 阿克陶县| 疏勒县| 海林市| 剑河县| 长宁县| 宜兰市| 仁怀市| 天津市| 中江县| 眉山市| 东乌珠穆沁旗| 共和县|