前言
在資料庫系統原理與設計(第3版)教科書中這樣寫道:
資料庫包含4類資料:
1.使用者資料
2.後設資料
3.索引
4.應用後設資料
其中,後設資料也叫資料字典,定義如下:
下面這篇文章就來給大家分享一個關於查詢SQL Server Table 結構的SQL 語句。
T-SQL 如下:
SELECT
(
case
when
a.colorder=1
then
d.
name
else
''
end
) 表名,
a.colorder 欄位序號,a.
name
欄位名,
(
case
when
a.colorder=1
then
isnull
(f.value,
''
)
else
''
end
) 表說明,
(
case
when
COLUMNPROPERTY( a.id,a.
name
,
'IsIdentity'
)=1
then
'1'
else
'0'
end
)標識,
(
case
when
(
SELECT
count
(*)
FROM
sysobjects
WHERE
(
name
in
(
SELECT
name
FROM
sysindexes
WHERE
(id = a.id)
AND
(indid
in
(
SELECT
indid
FROM
sysindexkeys
WHERE
(id = a.id)
AND
(colid
in
(
SELECT
colid
FROM
syscolumns
WHERE
(id = a.id)
AND
(
name
= a.
name
)))))))
AND
(xtype =
'PK'
))>0
then
'1'
else
'0'
end
) 主鍵,b.
name
型別,a.length 佔用位元組數,
COLUMNPROPERTY(a.id,a.
name
,
'PRECISION'
)
as
長度,
isnull
(COLUMNPROPERTY(a.id,a.
name
,
'Scale'
),0)
as
小數位數,(
case
when
a.isnullable=1
then
'1'
else
'0'
end
) 允許空,
isnull
(e.text,
''
) 預設值,
isnull
(g.[value],
' '
)
AS
[說明]
FROM
syscolumns a
left
join
systypes b
on
a.xtype=b.xusertype
inner
join
sysobjects d
on
a.id=d.id
and
d.xtype=
'U'
and
d.
name
<>
'dtproperties'
left
join
syscomments e
on
a.cdefault=e.id
left
join
sys.extended_properties g
on
a.id=g.major_id
AND
a.colid=g.minor_id
left
join
sys.extended_properties f
on
d.id=f.major_id
and
f.minor_id=0
--where b.name is not null
WHERE
d.
name
=
'DBA_Server'
--如果只查詢指定表,加上此條件,此案例為表DBA_Server
order
by
a.id,a.colorder
查詢出的結果如下:
總結
以上就是這SQL Server中Table字典資料的查詢SQL示例程式碼文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家的支援。