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

Jak najít název omezení na serveru SQL Server

Problém:

Chcete najít názvy omezení v tabulce na serveru SQL.

Příklad:

Názvy omezení chceme zobrazit v tabulce student .

Řešení:

SELECT TABLE_NAME,
       CONSTRAINT_TYPE,CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE TABLE_NAME=’student’;

Zde je výsledek:

TABLE_NAME CONSTRAINT_TYPE CONSTRAINT_NAME
student PRIMÁRNÍ KLÍČ PK__student__3213E83F357C7D1D
student JEDINEČNÉ UQ__student__24E2EDD2AC2A7D87
student ZKONTROLUJTE CK__student__age__4E88ABD4
student CIZI KLÍČ FK__student__country__4F7CD00D

Diskuse:

Použijte zobrazení table_constraints v information_schema schéma. Sloupec table_name vám dává název tabulky, ve které je omezení definováno, a sloupec constraint_name obsahuje název omezení. Sloupec constraint_type označuje typ omezení:PRIMARY KEY pro typ primárního klíče FOREIGN KEY pro typ cizího klíče UNIQUE pro jedinečné hodnoty a CHECK pro kontrolu omezení.

Například primární klíč v student tabulka má název omezení PK_student_3213E83F357C7D1D . constraint_type sloupec poskytuje informace o typu každého omezení; pro primární klíč je to PRIMARY KEY . table_name sloupec v tomto zobrazení označuje, která tabulka obsahuje toto omezení.

Pokud však chcete vybrat DEFAULT omezení z databáze, použijte tento dotaz níže.

SELECT c.name, c.definition
FROM sys.default_constraints c
JOIN sys.objects o ON o.object_id = c.parent_object_id
WHERE o.name ='student';

Zde je výsledek:

name definice
DF__student__name__4D94879B ("neznámé")

Název DEFAULT omezení je uloženo v názvu sloupce, ale hodnota je ve sloupci definition . Spojení pohledů sys.default_constraint s a sys.objects nám umožňuje vybrat pouze data pro danou tabulku (v našem příkladu tabulka student ) s použitím klauzule WHERE. Název omezení obsahuje název tabulky (student ) a název sloupce (name ).


  1. Jak zakázat CDC na sadě tabulek NEBO zakázat na všech tabulkách v databázi na SQL Server - SQL Server výukový program

  2. Jak přidat pouze odlišné hodnoty pomocí SQLite Sum()

  3. Exportujte celou databázi SQLite do souboru SQL

  4. Proveďte analýzu produktu pomocí SQL Server Full-Text Search. Část 1