獲取SQLServer的最完整資料字典的SQL語句

2021-09-04 18:30:18 字數 2774 閱讀 6254

獲取sqlserver 的最完整資料字典的sql 語句

其實網上已經流傳了很多關於獲取 sqlserver 的資料字典的版本,不過我相信這個應該是最全的了,本語句包括了表、字段、字段型別、字段長度、是否為空、是否遞增字段、索引名稱、索引的定位、索引型別、主鍵、外來鍵等;通過合理的裁剪可以很方便的生成相應的資料字典。

select

sysobjects.name as 表名稱 --sysproperties.[value] as 表說明 ,

syscolumns.name as 欄位名稱 ,--properties.[value] as 字段說明 ,

systypes.name as 字段型別 ,

syscolumns.length as 字段長度 ,isnull(columnproperty(syscolumns.id, syscolumns.name,'scale'), 0) as 小數字數 ,

case when syscolumns.isnullable=0

then ''

else ' √ 'end as 是否為空 ,

case when syscomments.text is 

then '' else syscomments.text

end as 預設值

case when columnproperty(syscolumns.id, syscolumns.name, 'isidentity')= 1

then ' √ ' else ''

end as 遞增字段 ,

case when sysindexes.name is null

then ''

else sysindexes.name

end as 索引名稱 ,case when sysindexkeys.keyno is null

then ''itpubelse convert(varchar(10),sysindexkeys.keyno )

end as 索引位置 ,

case when sysindexes.indid=1

then ' 聚集索引 '

when sysindexes.indid>1 and sysindexes.indid<>255

then ' 非聚集索引

when sysindexes.indid is null

then 

' 其他 '

end as 索引型別 ,case when exist

(select 

from sysobjects

where xtype = 'pk' and name 

(select name

from sysindexes

where ind

(select indid

from sysindexkeys

where id = syscolumns.id and colid = syscolumns.colid)

then ' √ ' else ''

end as 主鍵 ,

case when sysforeignkeys.constid is null

end as 外健

from syscolumns                            -- 資料表字段

inner join sysobjects                        -- 資料物件

on sysobjects.id = syscolumns.id

inner join systypes                         -- 資料型別

on syscolumns.xtype = systypes.xtype

left outer join sysproperties properties       -- 字段屬性資訊

on syscolumns.id = properties.idi

and syscolumns.colid = properties.smallid

left outer join sysproperties                -- 表屬性資訊

on sysobjects.id = sysproperties.id

and sysproperties.smallid = 0

left outer join syscomments                -- 注釋資訊

on syscolumns.cdefault = syscomments.

left outer join sysindexkeys                -- 索引中的鍵或列的資訊

on sysindexkeys.id = syscolumns

and sysindexkeys.colid = syscolumns.col

left outer join sysindexes                  -- 資料庫 索引表

on sysindexes.id = sysindexkeys.id

and sysindexes.indid = sysindexkeys.indid

left outer join sysforeignkeysi

on sysforeignkeys.fkeyid = syscolumns.id

and sysforeignkeys.fkey = syscolumns.colid

where (sysobjects.xtype = 'u')

order by sysobjects.id,syscolumns.colid

獲取SQLServer的最完整資料字典的SQL語句

原文 獲取sqlserver的最完整資料字典的sql語句 原創於2008年06月18日,2009年10月18日遷移至此。獲取sqlserver 的最完整資料字典的sql語句 其實網上已經流傳了很多關於獲取 sqlserver 的資料字典的版本,不過我相信這個應該是最全的了,本語句包括了表 字段 字段...

獲取最新最完整的省市縣資料

2019年11月中華人民共和國縣以上行政區劃 json github原始碼 什麼地方可以獲取最權威的省市縣資料?當然是官網 民政部門門戶 在 的最下面,你可以看到最新的行政區劃分 開啟連線,資料是這樣展示的 顯然,這樣的資料我們是無法使用的,通過檢視網頁原始碼發現 我們需要的地區名字和 都對應htm...

Quartz CronTrigger最完整配置說明

crontrigger配置格式 格式 秒 分 小時 日 月 周 年 序號說明 是否必填 允許填寫的值 允許的萬用字元 1秒 是0 59 2分 是0 59 3小時 是0 23 4日 是1 31 l w5月 是1 12 or jan dec 6周 是1 7 or sun sat l 7年 否empty ...