document/常用SQL/系统相关/表详细信息、.sql
2024-06-30 04:47:39 +08:00

123 lines
4.0 KiB
SQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SELECT
col.object_id ,
obj.name AS table_name,
col.name AS column_name,
ISNULL(ep.value,'') AS column_description,
inf.DATA_TYPE as column_type,
ISNULL(inf.CHARACTER_MAXIMUM_LENGTH ,0) as column_length,
indx.name
FROM
sys.objects AS obj
INNER JOIN
sys.columns AS col
ON
col.object_id = obj.object_id
LEFT JOIN
sys.extended_properties AS ep--注释
ON
ep.major_id = obj.object_id
AND ep.minor_id = col.column_id
AND ep.class = 1
left join
INFORMATION_SCHEMA.COLUMNS inf
on
inf.TABLE_NAME=obj.name and
inf.COLUMN_NAME=col.name
left join sys.indexes indx
on
indx.object_id = obj.object_id
WHERE
obj.type = 'U' and obj.name='T_App_Config'
ORDER BY
table_name ASC, col.column_id ASC;
SELECT
T.TABLE_NAME AS ,
c.ORDINAL_POSITION as ,
C.COLUMN_NAME AS ,
CASE
WHEN PT.VALUE IS NULL THEN ''
ELSE PT.VALUE
END AS ,
C.DATA_TYPE AS ,
C.CHARACTER_MAXIMUM_LENGTH AS ,
CASE
WHEN KCU.COLUMN_NAME IS NULL THEN 0
ELSE 1
END AS
FROM INFORMATION_SCHEMA.TABLES T
INNER JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME
LEFT JOIN sys.extended_properties PT ON PT.major_id = OBJECT_ID(T.TABLE_SCHEMA + '.' + T.TABLE_NAME) AND PT.minor_id = C.ORDINAL_POSITION AND PT.NAME ='MS_Description'
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU ON KCU.TABLE_NAME = T.TABLE_NAME AND KCU.COLUMN_NAME = C.COLUMN_NAME AND EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME)
WHERE T.TABLE_TYPE = 'BASE TABLE' AND T.TABLE_NAME ='T_App_Config'
ORDER BY T.TABLE_NAME, C.ORDINAL_POSITION;
SELECT
t.TABLE_NAME AS [],
c.COLUMN_NAME AS [],
c.ORDINAL_POSITION AS [],
CAST(ISNULL(ep.[value], '') AS NVARCHAR(MAX)) AS [],
c.DATA_TYPE AS [],
CAST(CASE WHEN c.CHARACTER_MAXIMUM_LENGTH IS NULL THEN c.NUMERIC_PRECISION ELSE c.CHARACTER_MAXIMUM_LENGTH END AS NVARCHAR(10)) AS [],
CAST(CASE WHEN EXISTS (
SELECT 1 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA = kcu.TABLE_SCHEMA AND tc.TABLE_NAME = kcu.TABLE_NAME
WHERE tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
AND kcu.TABLE_SCHEMA = t.TABLE_SCHEMA
AND kcu.TABLE_NAME = t.TABLE_NAME
AND kcu.COLUMN_NAME = c.COLUMN_NAME
) THEN 1 ELSE 0 END AS BIT) AS [],
CAST(CASE WHEN c.IS_NULLABLE = 'YES' THEN 1 ELSE 0 END AS BIT) AS [],
CAST(COLUMN_DEFAULT AS NVARCHAR(MAX)) AS []
FROM
HissAI_Res.INFORMATION_SCHEMA.TABLES t
INNER JOIN
HissAI_Res.INFORMATION_SCHEMA.COLUMNS c ON t.TABLE_SCHEMA = c.TABLE_SCHEMA AND t.TABLE_NAME = c.TABLE_NAME
LEFT OUTER JOIN
HissAI_Res.sys.columns sc ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(sc.object_id) + '.' + OBJECT_NAME(sc.object_id) AND c.COLUMN_NAME = sc.name
LEFT OUTER JOIN
HissAI_Res.sys.extended_properties ep ON t.TABLE_SCHEMA + '.' + t.TABLE_NAME = OBJECT_SCHEMA_NAME(ep.major_id) + '.' + OBJECT_NAME(ep.major_id) AND sc.column_id = ep.minor_id AND ep.name = 'MS_Description'
WHERE
t.TABLE_NAME = 'T_App_Config'
ORDER BY
c.ORDINAL_POSITION ASC;
SELECT name FROM sys.databases where [name] like '%HissAI%' ;
SELECT
obj.name AS table_name,
ISNULL(ep.value,'') AS table_description
FROM
HissAI_UserData.sys.objects AS obj
LEFT JOIN
HissAI_UserData.sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = 0
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
table_name ASC;
SELECT
obj.name AS TableName,
ISNULL(ep.value,'') AS TableDescription
FROM
HissAI_UserData.sys.objects AS obj
LEFT JOIN
HissAI_UserData.sys.extended_properties AS ep
ON
ep.major_id = obj.object_id
AND ep.minor_id = 0
AND ep.class = 1
WHERE
obj.type = 'U'
ORDER BY
TableName ASC;