objeto de catálogo Ver: sys.default_const rounds
Las vistas del esquema de información INFORMATION_SCHEMA
son ANSI-obedientes, pero las restricciones predeterminadas no son parte del estándar ISO. Microsoft SQL Server proporciona vistas de catálogo del sistema para obtener información sobre los metadatos de los objetos de SQL Server.
sys.default_constraints
vista de catálogo del sistema utilizada para obtener información sobre las restricciones predeterminadas.
SELECT so.object_id TableName,
ss.name AS TableSchema,
cc.name AS Name,
cc.object_id AS ObjectID,
sc.name AS ColumnName,
cc.parent_column_id AS ColumnID,
cc.definition AS Defination,
CONVERT(BIT,
CASE cc.is_system_named
WHEN 1
THEN 1
ELSE 0
END) AS IsSystemNamed,
cc.create_date AS CreationDate,
cc.modify_date AS LastModifiednDate
FROM sys.default_constraints cc WITH (NOLOCK)
INNER JOIN sys.objects so WITH (NOLOCK) ON so.object_id = cc.parent_object_id
LEFT JOIN sys.schemas ss WITH (NOLOCK) ON ss.schema_id = so.schema_id
LEFT JOIN sys.columns sc WITH (NOLOCK) ON sc.column_id = cc.parent_column_id
AND sc.object_id = cc.parent_object_id
ORDER BY so.name,
cc.name;
Nota: es posible tener el mismo nombre de tabla en diferentes esquemas, por lo que también debe unirse a la tabla sys.schemas. –
@DanielJamesBryars sys.schemas ahora se agregó a la consulta. –
Por favor vea [mi respuesta] (http://stackoverflow.com/a/32750390/57611), que es corto y agradable, funciona en todas las versiones de SQL Server, no tiene tablas 'sys', y es fácil de recordar . – ErikE