Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere l'elenco delle tabelle senza vincolo della chiave primaria nel database di SQL Server - Tutorial SQL Server / T-SQL Parte 58

Scenario:

Lavori come sviluppatore SQL Server per una società di sviluppo software. Viene richiesto di fornire un elenco di tabelle da un database in cui non sono stati creati vincoli di chiave primaria.


Soluzione:

Esistono diversi modi per ottenere un elenco di tabelle senza vincoli di chiave primaria nel database del server sql. Nella query seguente utilizzeremo le viste di sistema per ottenere l'elenco delle tabelle in un database senza vincoli di chiave primaria.
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'
 

Eseguo la query precedente su uno dei miei database e ho ottenuto un elenco di tabelle che non hanno il vincolo della chiave primaria creato su di esse. Come ottenere un elenco di tabelle senza vincoli di chiave primaria nel database di SQL Server - Tutorial SQL Server/TSQL

Video demo:come ottenere un elenco di tabelle senza vincoli di chiave primaria in SQL Server