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

Sådan får du alle tabellerne med eller uden primær nøglebegrænsning i SQL Server Database - SQL Server / TSQL Tutorial 59

Scenarie:

Du arbejder som SQL Server Developer / SQL Server DBA, og du skal have en liste over tabeller fra en database med information, hvis tabellen har den primære nøgle begrænsning eller ikke har den primære nøgle begrænsning.

Løsning:

Vi kommer til at bruge systemvisninger i SQL-serverdatabasen til at få en liste over tabeller med eller uden primære nøglebegrænsninger.

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'
 
Jeg udfører ovenstående kode på en af ​​mine databaser og liste over tabeller med primær nøglebegrænsning eller uden primærnøglebegrænsning.
Hent liste over tabeller fra SQL Server-database med eller uden primær nøglebegrænsning - SQL Server / TSQL-vejledning



Videodemo:Sådan får du alle tabellerne med eller uden primær nøglebegrænsning i SQL Server-databasen

  1. MySQL Innodb Crash

  2. Konfigurer SQL Server Always ON Tilgængelighedsgrupper mellem to synkrone replikaer. Del 2

  3. Sådan beregner du vækst i procent uge over uge i MySQL

  4. Sådan fungerer QUARTER() i MariaDB