Scenario:
Stai lavorando come sviluppatore di SQL Server / DBA di SQL Server in compagnia di assicurazioni auto. Ti viene chiesto di fornire una query che dovrebbe restituire l'elenco di tutte le tabelle con nome schema, nome colonna e vincolo chiave primaria su cui è stato creato un vincolo di chiave primaria.Soluzione:
Esistono diversi modi per ottenere queste informazioni. Utilizzeremo le viste di sistema per ottenere tutte le tabelle con vincoli di chiave primaria nel database di 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' Eseguo la query precedente su uno dei miei database di test e qui ci sono i miei risultati con i nomi delle tabelle che hanno vincoli di chiave primaria.
Ottieni l'elenco delle tabelle nel database di SQL Server con Vincolo primario - Tutorial SQL Server/TSQLVideo demo:ottieni l'elenco dei vincoli della chiave primaria nel database di SQL Server