sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo obtener una lista de tablas sin restricción de clave principal en la base de datos de SQL Server - Tutorial de SQL Server / T-SQL, parte 58

Escenario:

Está trabajando como desarrollador de SQL Server para una empresa de desarrollo de software. Se le pide que proporcione una lista de tablas de una base de datos que no tienen restricciones de clave principal creadas en ellas.


Solución:

Hay diferentes formas de obtener una lista de tablas sin restricciones de clave principal en la base de datos del servidor sql. En la siguiente consulta, vamos a utilizar las vistas del sistema para obtener la lista de tablas en una base de datos sin restricciones de clave principal.
Select
   Table_CataLog as DatabaseName,
   Table_Schema as TableSchema,
   Table_Name as TableName      
from
   information_schema.tables T     
where
   Not Exists(
      Select
         1 
      from
         information_Schema.Table_Constraints C     
      where
         Constraint_Type='PRIMARY KEY'     
         and C.Table_Name=T.Table_Name     
         and C.Table_Schema=T.Table_Schema
   )     
   and Table_Type='BASE TABLE'
 

Ejecuté la consulta anterior en una de mis bases de datos y obtuve una lista de tablas que no tienen una restricción de clave principal creada en ellas. Cómo obtener una lista de tablas sin restricciones de clave principal en la base de datos de SQL Server - Tutorial de SQL Server/TSQL

Video de demostración:Cómo obtener una lista de tablas sin restricción de clave principal en SQL Server