sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man får alla tabeller med eller utan primärnyckelbegränsning i SQL Server Database - SQL Server / TSQL Tutorial 59

Scenario:

Du arbetar som SQL Server-utvecklare / SQL Server DBA och du behöver få en lista över tabeller från en databas med information om tabellen har primärnyckelbegränsningen eller inte har primärnyckelbegränsning.

Lösning:

Vi kommer att använda systemvyer i SQL-serverdatabasen för att få en lista över tabeller med eller utan primära nyckelbegränsningar.

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'
 
Jag kör ovanstående kod på en av mina databas och lista över tabeller med primärnyckelbegränsning eller utan primärnyckelbegränsning.
Hämta lista över tabeller från SQL Server-databasen med eller utan primärnyckelbegränsning - SQL Server / TSQL handledning



Videodemo :Hur man får alla tabeller med eller utan primärnyckelbegränsning i SQL Server Database

  1. 3 sätt att få dagnamnet från ett datum i MariaDB

  2. SQL :i klausul i lagrad procedur:hur man skickar värden

  3. Allvarligt fel:Anrop till en medlemsfunktion bind_param() på boolean

  4. Kan inte ansluta till postgres från fjärrvärden