sql >> Databáze >  >> RDS >> Sqlserver

Jak získat všechny tabulky s omezením primárního klíče nebo bez něj v databázi SQL Server - SQL Server / TSQL výukový program 59

Scénář:

Pracujete jako SQL Server Developer / SQL Server DBA a potřebujete získat seznam tabulek z databáze s informací, zda tabulka má omezení primárního klíče nebo nemá omezení primárního klíče.

Řešení:

Budeme používat systémové pohledy v databázi SQL serveru, abychom získali seznam tabulek s omezeními primárního klíče nebo bez nich.

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'
 
Spouštím výše uvedený kód na jedné ze svých databází a seznamu tabulek s omezením primárního klíče nebo bez omezení primárního klíče.
Získejte seznam tabulek z databáze SQL Server s omezením primárního klíče nebo bez něj – SQL Server / Výukový program TSQL



Video ukázka:Jak získat všechny tabulky s omezením primárního klíče nebo bez něj v databázi serveru SQL

  1. Zmírnění fragmentace indexu

  2. Jak vložit aktualizovatelný záznam se sloupcem JSON v PostgreSQL pomocí JOOQ?

  3. Jak funguje funkce INSERT() v MariaDB

  4. 6 problémových dotazů, které masivně zpomalují vaši databázi