日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL Server查询所有数据库下模式schema

發(fā)布時間:2024/9/27 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server查询所有数据库下模式schema 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQL Server查詢所有數(shù)據(jù)庫下模式名

需求描述

找到SQL Server里所有數(shù)據(jù)庫下的schema.輸出格式為數(shù)據(jù)庫名、模式名。

?背景補(bǔ)充

關(guān)于SQL Server需要簡單介紹下,從數(shù)據(jù)庫對象的粒度上可粗略的分為server、database、schema、table、colmun。這里server相當(dāng)于instance(實(shí)例),一臺機(jī)器可以裝多個實(shí)例,一個實(shí)例有多個數(shù)據(jù)庫,一個數(shù)據(jù)庫有多個schema(模式),schema相當(dāng)于把相似的表做個歸類。比如零售系統(tǒng)里production模式歸檔是產(chǎn)品相關(guān)的表,sales模式則是銷售相關(guān)的表。一個模式會有多個table(表),一個表會有多個字段(列)。

?補(bǔ)充說明:一個schema可以賦予多個用戶,一個用戶也可以對應(yīng)多個schema。

?思路概述

#1 思路概述

1) 找到顯示當(dāng)前數(shù)據(jù)庫下schema的系統(tǒng)視圖。這里對應(yīng)的是sys.schemas。

2) 找到可以查詢所有數(shù)據(jù)庫的系統(tǒng)視圖,這里是sys.databases

3) 給所有數(shù)據(jù)庫加個序號,以方便后續(xù)遍歷。

4)通過WHILE循環(huán)匹配 3)里的序號。

5) 拼接動態(tài)SQL生成每個數(shù)據(jù)庫查詢schema的SQL語句。

6)遍歷執(zhí)行并插入表變量里,最后展示查詢結(jié)果。

TSQL代碼

-- #方法1: 通過WHILE和動態(tài)SQL DECLARE @tb_schemas TABLE(db_name varchar(200),schemas_name varchar(200)); DECLARE @i INT; DECLARE @sql VARCHAR(300); SET @i = 1BEGINWHILE @i <= (SELECT COUNT(*) FROM sys.databases)BEGINSELECT @sql = ' use ' + A.name+';' + 'SELECT '+''''+A.name+''''+ ',name schemas_name FROM sys.schemas' FROM(SELECT A.name,ROW_NUMBER()OVER(order by database_id) rnFROM sys.databases A)AWHERE A.rn = @iINSERT INTO @tb_schemas EXEC(@sql);SET @i = @i + 1EndSELECT DISTINCT db_name,schemas_name FROM @tb_schemas ORDER BY db_name;END -- 封裝成存儲過程僅需要在代碼最前加創(chuàng)建存儲語句即可(選做)。-- #方法2:用內(nèi)置的系統(tǒng)存儲過程sp_MSforeachdb結(jié)合臨時表 CREATE TABLE #schemaTable(dbname VARCHAR(100),schemaname VARCHAR(100))EXEC sp_MSforeachdb @command1="print '?'",@command2="INSERT INTO #schemaTable SELECT '?',name schemas_name FROM sys.schemas" SELECT * FROM #schemaTable

執(zhí)行結(jié)果

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的SQL Server查询所有数据库下模式schema的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。