Escenario:
Está trabajando como desarrollador de SQL Server/DBA de SQL Server en Auto Insurance Company. Se le pide que proporcione una consulta que debe devolver una lista de todas las tablas con Nombre de esquema, Nombre de columna y Restricción de clave principal que tiene una restricción de clave principal creada en ellas.Solución:
Hay varias formas de obtener esta información. Vamos a usar vistas del sistema para obtener todas las tablas con restricciones de clave principal en la base de datos de SQL Server.Select
TC.Table_Catalog as DatabaseName,
TC.Table_Schema AS TableSchema,
TC.Table_Name AS TableName,
CCU.Column_Name AS ColumnName,
TC.Constraint_Name AS ConstraintName
From
information_Schema.Table_Constraints TC
INNER JOIN
Information_Schema.constraint_column_usage CCU
on TC.Constraint_Name=CCU.Constraint_Name
and TC.Table_Name=CCU.Table_Name
where
Constraint_Type='PRIMARY KEY' Ejecuté la consulta anterior en una de mis bases de datos de prueba y aquí están mis resultados con nombres de tablas que tienen restricciones de clave principal.
Obtenga una lista de las tablas en la base de datos de SQL Server que tiene una restricción principal - Tutorial de SQL Server/ TSQLVideo de demostración:obtenga una lista de restricciones de clave principal en la base de datos de SQL Server