Udostępnij za pośrednictwem


Klucze podstawowe, klucze obce i unikatowe klucze w magazynie w usłudze Microsoft Fabric

Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric

Dowiedz się więcej o ograniczeniach tabel w punkcie końcowym analizy SQL i magazynie w usłudze Microsoft Fabric, w tym o kluczu podstawowym, kluczach obcych i unikatowych kluczach.

Ważne

Aby dodać lub usunąć klucz podstawowy, klucz obcy lub unikatowe ograniczenia, użyj polecenia ALTER TABLE. Nie można ich utworzyć w tekście w instrukcji CREATE TABLE.

Powiązane tabele

Punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric obsługują następujące ograniczenia tabeli:

  • KLUCZ PODSTAWOWY jest obsługiwany tylko wtedy, gdy są używane wartości NONCLUSTERED i NOT ENFORCED.
  • KLUCZ OBCY jest obsługiwany tylko wtedy, gdy nie jest używany wymuszony.
  • Ograniczenie UNIQUE jest obsługiwane tylko wtedy, gdy są używane wartości NONCLUSTERED i NOT ENFORCED.

Aby uzyskać informacje o składni, sprawdź ALTER TABLE.

Ważne

Istnieją ograniczenia dotyczące dodawania ograniczeń tabeli lub kolumn podczas korzystania z kontroli źródła w magazynie.

Przykłady

Utwórz tabelę usługi Microsoft Fabric Warehouse z kluczem podstawowym:

CREATE TABLE PrimaryKeyTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE PrimaryKeyTable ADD CONSTRAINT PK_PrimaryKeyTable PRIMARY KEY NONCLUSTERED (c1) NOT ENFORCED;

Utwórz tabelę usługi Microsoft Fabric Warehouse z unikatowym ograniczeniem:

CREATE TABLE UniqueConstraintTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE UniqueConstraintTable ADD CONSTRAINT UK_UniqueConstraintTablec1 UNIQUE NONCLUSTERED (c1) NOT ENFORCED;

Utwórz tabelę usługi Microsoft Fabric Warehouse z kluczem obcym:

CREATE TABLE ForeignKeyReferenceTable (c1 INT NOT NULL);

ALTER TABLE ForeignKeyReferenceTable ADD CONSTRAINT PK_ForeignKeyReferenceTable PRIMARY KEY NONCLUSTERED (c1) NOT ENFORCED;

CREATE TABLE ForeignKeyTable (c1 INT NOT NULL, c2 INT);

ALTER TABLE ForeignKeyTable ADD CONSTRAINT FK_ForeignKeyTablec1 FOREIGN KEY (c1) REFERENCES ForeignKeyReferenceTable (c1) NOT ENFORCED;