Compartilhar via


Chaves primárias, chaves estrangeiras e chaves exclusivas no Warehouse no Microsoft Fabric

Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric

Saiba mais sobre restrições de tabela no ponto de extremidade de análise do SQL e no Depósito do Microsoft Fabric, incluindo a chave primária, chaves estrangeiras e chaves exclusivas.

Importante

Para adicionar ou remover a chave primária, a chave estrangeira ou as restrições exclusivas, use ALTER TABLE. Eles não podem ser criados embutidos em uma instrução CREATE TABLE.

Restrições de tabela

O ponto de extremidade de análise do SQL e o Depósito no Microsoft Fabric dão suporte a essas restrições de tabela:

  • Há suporte para PRIMARY KEY somente quando NONCLUSTERED e NOT ENFORCED são usados.
  • Há suporte para a restrição UNIQUE somente quando NOT ENFORCED é usado.
  • Só há suporte para a restrição UNIQUE quando NONCLUSTERED e NOT ENFORCED são usados.

Para sintaxe, marque ALTER TABLE.

Importante

Existem limitações com a adição de restrições de tabela ou colunas ao ser usado o controle do código-fonte com o Warehouse.

Exemplos

Crie uma tabela do Microsoft Fabric Warehouse com uma chave primária:

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

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

Crie uma tabela do Microsoft Fabric Warehouse com uma restrição exclusiva:

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

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

Crie uma tabela do Microsoft Fabric Warehouse com uma chave estrangeira:

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;