Palavra-chave SQL FOREIGN KEY
❮ Referência de palavras-chave SQL
CHAVE ESTRANGEIRA
A FOREIGN KEY
restrição é uma chave usada para vincular duas tabelas.
Uma FOREIGN KEY é um campo (ou coleção de campos) em uma tabela que se refere à PRIMARY KEY em outra tabela.
SQL FOREIGN KEY em CREATE TABLE
O SQL a seguir cria uma FOREIGN KEY na coluna "PersonID" quando a tabela "Orders" é criada:
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Para permitir a nomeação de uma restrição FOREIGN KEY e para definir uma restrição FOREIGN KEY em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
SQL FOREIGN KEY em ALTER TABLE
Para criar uma restrição FOREIGN KEY na coluna "PersonID" quando a tabela "Orders" já estiver criada, use o seguinte SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Para permitir a nomeação de uma restrição FOREIGN KEY e para definir uma restrição FOREIGN KEY em várias colunas, use a seguinte sintaxe SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
SOLTE uma restrição de chave estrangeira
Para eliminar uma restrição FOREIGN KEY, use o seguinte SQL:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
❮ Referência de palavras-chave SQL