1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
SELECT
TABLES.NAME AS [TABLE],
COLUMNS.NAME [COLUMN],
UPPER(TYPES.NAME) [TYPE],
COLUMNS.max_length [LENGTH],
CASE COLUMNS.is_nullable
WHEN 1 THEN 'YES'
ELSE 'NO'
END AS NULLABLE,
CASE COLUMNS.is_identity
WHEN 1 THEN 'YES'
ELSE 'NO'
END AS [IDENTITY],
CASE COLUMNS.is_computed
WHEN 1 THEN 'YES'
ELSE 'NO'
END AS COMPUTED,
REPLACE(REPLACE(REPLACE(REPLACE(COMPCOL.definition, ')', ''), '(', ''), '[', ''), ']', '') FORMULA,
REPLACE(REPLACE(REPLACE(REPLACE(CHK.definition, ')', ''), '(', ''), '[', ''), ']', '') [CHECK_CONSTRAINT],
REPLACE(REPLACE(DF.definition, '(', ''), ')', '') [DEFAULT]
FROM sys.tables TABLES
LEFT JOIN sys.columns COLUMNS ON TABLES.object_id = COLUMNS.object_id
LEFT JOIN sys.types TYPES ON TYPES.user_type_id = COLUMNS.user_type_id
LEFT JOIN sys.computed_columns COMPCOL ON COMPCOL.column_id = COLUMNS.column_id
AND COMPCOL.object_id = TABLES.object_id
LEFT JOIN sys.check_constraints CHK ON CHK.parent_object_id = TABLES.object_id
AND CHK.parent_column_id = COLUMNS.column_id
LEFT JOIN sys.default_constraints DF ON DF.parent_object_id = TABLES.object_id
AND DF.parent_column_id = COLUMNS.column_id
ORDER BY TABLES.NAME, COLUMNS.column_id |
Partager