查詢資料庫中所有記錄總數不為0的資料表名稱

2021-06-07 05:43:10 字數 1211 閱讀 6943

--查詢資料庫中所有記錄總數不為0的資料表名稱

--宣告變數

declare @tablename nvarchar(250)

--宣告乙個游標mycursor,select語句中引數的個數必須要和從游標取出的變數名相同

declare mycursor cursor for select name from sys.tables  order by name

--開啟游標

open mycursor

--從游標裡取出資料賦值到我們剛才宣告的變數中

fetch next from mycursor into @tablename

--判斷游標的狀態

--0 fetch語句成功    

---1 fetch語句失敗或此行不在結果集中    

---2被提取的行不存在

declare @tablenamelist nvarchar(4000)

set @tablenamelist=''

while (@@fetch_status=0)

begin

--顯示出我們每次用游標取出的值

--print '游標成功取出一條資料'

declare @sql as nvarchar(500),@i as int;

set @sql = n' select @p=isnull(count(1),0) from '+@tablename+'';

exec sp_executesql @sql, n'@p as int output',@p = @i output

--輸出所有記錄不為0的表名稱

if @i>0

begin

if(@tablenamelist='')

set @tablenamelist=@tablename

else

set @tablenamelist=@tablenamelist+','+@tablename

print 'select * from '+@tablename+';'

end--用游標去取下一條記錄

fetch next from mycursor into @tablename

end

--關閉游標

close mycursor

--撤銷游標

deallocate mycursor

select @tablenamelist

查詢資料庫中所有記錄總數不為0的資料表名稱

查詢資料庫中所有記錄總數不為0的資料表名稱 宣告變數 declare tablename nvarchar 250 宣告乙個游標mycursor,select語句中引數的個數必須要和從游標取出的變數名相同 declare mycursor cursor for select name from sy...

查詢資料庫中所有列名

如何從整個資料庫所有表中查詢出乙個列名?比如想要查詢乙個名為 name 的列名,但是忘記了這一列是在那乙個表中,需要從整個資料庫的所有表中進行查詢。oracle 資料庫 select from user col comments s where s.column name like name mys...

Oracle查詢資料庫中所有表的記錄數

oracle查詢資料庫中所有表的記錄數 查詢庫中的表名和表中記錄數 select t.table name,t.num rows from user tables t 查詢庫中記錄總數 select sum a.num rows from select t.table name,t.num rows...