Your cart is currently empty!
SQL Server Schema Extractor
Run this code against a db to get the table and col names:
SELECT
t.name AS TableName,
s.name AS SchemaName,
c.name AS ColumnName,
typ.name AS DataType,
c.max_length AS MaxLength,
c.precision AS NumericPrecision,
c.scale AS NumericScale,
c.is_nullable AS IsNullable,
CASE WHEN pk.column_id IS NOT NULL THEN 1 ELSE 0 END AS IsPrimaryKey,
CASE WHEN fk.parent_column_id IS NOT NULL THEN 1 ELSE 0 END AS IsForeignKey,
OBJECT_NAME(fk.referenced_object_id) AS ReferencedTable,
COL_NAME(fk.referenced_object_id, fk.referenced_column_id) AS ReferencedColumn
FROM
sys.tables t
INNER JOIN
sys.schemas s ON t.schema_id = s.schema_id
INNER JOIN
sys.columns c ON t.object_id = c.object_id
INNER JOIN
sys.types typ ON c.user_type_id = typ.user_type_id
LEFT JOIN
sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT JOIN
sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id AND i.is_primary_key = 1
LEFT JOIN
sys.index_columns pk ON pk.object_id = c.object_id AND pk.column_id = c.column_id AND pk.index_id IN (
SELECT index_id FROM sys.indexes WHERE object_id = t.object_id AND is_primary_key = 1
)
LEFT JOIN
sys.foreign_key_columns fk ON fk.parent_object_id = t.object_id AND fk.parent_column_id = c.column_id
ORDER BY
s.name, t.name, c.column_id
by
Tags:
Leave a Reply