如何遍歷某資料庫中的每乙個表的總記錄數

2022-03-28 16:37:30 字數 1677 閱讀 4852

1

上網蒐集了很多資料,終於寫出可以執行的乙個儲存過程了,如下:23

set ansi_nulls on4go

5set quoted_identifier on6go

78--重點開始了

9create

procedure

[dbo

].[hrmis_counts]10

11as

12begin

13--

宣告游標

14declare mycursor cursor

15for

select name from hrmis..sysobjects where xtype='u

'16--"hrmis"是我需要查詢的資料庫名稱

17--

"xtype='u'"的意思是:只查詢使用者表,系統表不要,但可能會出錯,網上有資料防止這種意外,至少我沒有報錯,就不理了。

1819

--開啟游標

20open

mycursor

21--

定義變數

22declare

@tablename

nvarchar(max),@sql

nvarchar(max),@counts

int23

fetch

next

from mycursor into

@tablename

24while

@@fetch_status=0

25--

@@fetch_status = 0是指:游標未到末尾

26begin

27set

@sql='

select @counts=count(*) from '+

@tablename

28--

print @sql

29--

exec(@sql)

30--

上面這句會報錯的「@counts未定義之類的,我忘了,有興趣自己試試」,反正不能直接執行就是了。

31--

正確的寫法是下面這句

32exec sp_executesql @sql,n'

@counts int out

',@counts

out33

--好吧,我承認我也不太了解這條語句的含意,但這是不重點,重點是,它執行成功了。

34if

@counts

>

10000

35--

只顯示記錄數大於1w的表名(這裡隨意就好了,不要也行)

36print (convert(nvarchar(max),@counts) +

'......'+

@tablename)37

fetch

next

from mycursor into

@tablename

38end

39--

關閉游標

40close

mycursor

41deallocate

mycursor

42end

43go

儲存一下,然後執行此儲存過程,就可以自動遍歷資料庫中的所有表(647個表哇,蛋疼),然後把記錄數大於1w的表名跟相應的記錄數都顯示出來,統計就不用這麼麻煩了。

乙個資料庫中將乙個表中的資料匯入另乙個表中

set identity insert tablename on insert tablename id,col1.指定所有列名 select from t1 set identity insert tablename off 這個是將t1中的資料都匯入tablename這個表中 當然我這裡他們兩個...

如何正確獲得ListView的每乙個item高度

最近android中使用listview 需要動態獲取每個item的高度 來計算listview的高度,計算過程中碰到一些問題,特此分享 前提 這個item的根view必須是linearlayout package com.bxg.news.view import android.view.view...

資料庫建表的乙個坑

今天在預生產環境配置環境的時候出現了個問題,就是我乙個查詢sql竟然花了17秒,這是乙個嚴重的問題.本來以為是環境的問題,後來發現環境沒問題,那就是我的sql有問題,初步認為是沒有走索引.我把控制台 列印的sql放到預生產環境中直接執行,果然花了10多秒.執行了sql計畫發現確實沒有走索引,但是測試...