SQL SERVER 数据库查询表和字段信息语句
--数据库中所有表的信息(很强悍的)
SELECT
表名 =
CASE
WHEN
A.COLORDER=1
THEN
D.
NAME
ELSE
' '
END
,
表說明 =
CASE
WHEN
A.COLORDER=1
THEN
ISNULL
(F.VALUE,
' '
)
ELSE
' '
END
,
欄位序號 = A.COLORDER,
欄位名 = A.
NAME
,
標識 =
CASE
WHEN
COLUMNPROPERTY( A.ID,A.
NAME
,
'ISIDENTITY '
)=1
THEN
'√ '
ELSE
' '
END
,
主鍵 =
CASE
WHEN
EXISTS(
SELECT
1
FROM
SYSOBJECTS
WHERE
XTYPE=
'PK '
AND
PARENT_OBJ=A.ID
AND
NAME
IN
(
SELECT
NAME
FROM
SYSINDEXES
WHERE
INDID
IN
(
SELECT
INDID
FROM
SYSINDEXKEYS
WHERE
ID = A.ID
AND
COLID=A.COLID)))
THEN
'√ '
ELSE
' '
END
,
類型 = B.
NAME
,
佔用位元組數 = A.LENGTH,
長度 = COLUMNPROPERTY(A.ID,A.
NAME
,
'PRECISION '
),
小數位數 =
ISNULL
(COLUMNPROPERTY(A.ID,A.
NAME
,
'SCALE '
),0),
允許空 =
CASE
WHEN
A.ISNULLABLE=1
THEN
'√ '
ELSE
' '
END
,
預設值 =
ISNULL
(E.TEXT,
' '
),
欄位說明 =
ISNULL
(G.[VALUE],
' '
)
FROM
SYSCOLUMNS A
LEFT
JOIN
SYSTYPES B
ON
A.XUSERTYPE=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
ORDER
BY
A.ID,A.COLORDER
版权声明:本博文原创发表于博客园,作者博客:YuBinfeng's Technology Blog
| |