Scenario:
Stai lavorando come sviluppatore di SQL Server / DBA di SQL Server e devi ottenere un elenco di tabelle da un database con informazioni se la tabella ha il vincolo della chiave primaria o non ha il vincolo della chiave primaria.Soluzione:
Utilizzeremo le viste di sistema nel database del server SQL per ottenere un elenco di tabelle con o senza vincoli di chiave primaria.use YourDatabaseName go Select T.Table_Catalog as DatabaseName, T.Table_Schema AS TableSchema, T.Table_Name AS TableName, CCU.Column_Name AS ColumnName, TC.Constraint_Name AS ConstraintName, Case When TC.Constraint_Name is not Null Then 'Yes' Else 'No' End as HasPrimaryKeyConstraint From information_schema.tables T left join information_Schema.Table_Constraints TC on T.Table_Catalog=TC.Table_Catalog and T.Table_Schema=TC.Table_Schema and T.Table_Name=TC.Table_Name and TC.Constraint_Type='PRIMARY KEY' left JOIN Information_Schema.constraint_column_usage CCU on TC.Constraint_Name=CCU.Constraint_Name and TC.Table_Name=CCU.Table_Name and T.Table_Type='BASE TABLE'
Eseguo il codice sopra su uno dei miei database e un elenco di tabelle con vincolo di chiave primaria o senza vincolo di chiave primaria.
Ottieni un elenco di tabelle dal database di SQL Server con o senza vincolo della chiave primaria - Tutorial SQL Server/TSQL
Video Demo:come ottenere tutte le tabelle con o senza vincolo di chiave primaria nel database di SQL Server