Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| sql:sql_server_data_dictionary [2022/05/02 15:59] – Raphael | sql:sql_server_data_dictionary [2022/05/02 16:09] (current) – Raphael | ||
|---|---|---|---|
| Line 78: | Line 78: | ||
| \\ | \\ | ||
| - | ===== Columns ===== | + | ===== Columns |
| \\ | \\ | ||
| Line 84: | Line 84: | ||
| SELECT | SELECT | ||
| t.object_id as table_object_id | t.object_id as table_object_id | ||
| - | ,s.name as schema_id | + | ,s.name as schema_name |
| ,t.name as table_name | ,t.name as table_name | ||
| ,c.name as column_name | ,c.name as column_name | ||
| Line 171: | Line 171: | ||
| ON t.object_id = cc.object_id | ON t.object_id = cc.object_id | ||
| AND c.column_id = cc.column_id | AND c.column_id = cc.column_id | ||
| + | |||
| + | order by s.name, t.name, c.column_id; | ||
| + | </ | ||
| + | \\ | ||
| + | |||
| + | ===== Columns (for views) ===== | ||
| + | \\ | ||
| + | |||
| + | < | ||
| + | SELECT | ||
| + | |||
| + | t.object_id as view_object_id | ||
| + | ,s.name as schema_name | ||
| + | ,t.name as view_name | ||
| + | ,c.name as column_name | ||
| + | , | ||
| + | ,ty.name as data_type | ||
| + | ,ty.name + COALESCE(' | ||
| + | CASE WHEN ty.name IN(' | ||
| + | CASE WHEN c.max_length = -1 THEN ' | ||
| + | WHEN ty.name IN(' | ||
| + | CASE WHEN c.max_length = -1 THEN ' | ||
| + | WHEN ty.name IN(' | ||
| + | WHEN ty.name in (' | ||
| + | ELSE NULL | ||
| + | END + ' | ||
| + | '' | ||
| + | ,case when c.is_nullable = 0 then ' | ||
| + | else ' | ||
| + | , | ||
| + | |||
| + | |||
| + | FROM sys.views t | ||
| + | |||
| + | JOIN sys.schemas s | ||
| + | ON t.schema_id = s.schema_id | ||
| + | |||
| + | JOIN sys.columns c | ||
| + | ON t.object_id = c.object_id | ||
| + | |||
| + | JOIN sys.types ty | ||
| + | ON c.user_type_id = ty.user_type_id | ||
| + | |||
| + | LEFT JOIN ( | ||
| + | SELECT major_id, minor_id, CONVERT(nvarchar(max), | ||
| + | FROM sys.extended_properties | ||
| + | WHERE name = ' | ||
| + | AND class_desc = ' | ||
| + | ) as ep | ||
| + | ON t.object_id = ep.major_id | ||
| + | AND c.column_id = ep.minor_id | ||
| order by s.name, t.name, c.column_id; | order by s.name, t.name, c.column_id; | ||
| </ | </ | ||