Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como obter a lista de tabelas sem restrição de chave primária no banco de dados SQL Server - SQL Server / T-SQL Tutorial Part 58

Cenário:

Você está trabalhando como desenvolvedor SQL Server para empresa de desenvolvimento de software. Você é solicitado a fornecer uma lista de tabelas de um banco de dados que não possuem restrições de chave primária criadas nelas.


Solução:

Existem diferentes maneiras de obter uma lista de tabelas sem restrições de chave primária no banco de dados do sql server. Na consulta abaixo, vamos usar as visualizações do sistema para obter a lista de tabelas em um banco de dados sem restrições de chave primária.
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'
 

Eu executo a consulta acima em um dos meus bancos de dados e obtive uma lista de tabelas que não possuem restrição de chave primária criada nelas. Como obter lista de tabelas sem restrições de chave primária no banco de dados SQL Server - SQL Server / Tutorial TSQL

Demonstração em vídeo:como obter uma lista de tabelas sem restrição de chave primária no SQL Server