Bonjour, Je voudrais savoir quelle est l’instruction SQL qui permet d’ajouter une contrainte de clef étrangère dans une table ? Cordialement,
Dans la table qui contient la colonne de référence, celle-ci doit être en Primary Key comme ceci :
CREATE TABLE Liste_partition for system name Partition(
Partition_id FOR COLUMN idpart INTEGER NOT NULL
GENERATED ALWAYS AS IDENTITY
(MINVALUE 1
MAXVALUE 999999999
INCREMENT BY 1),
Project_Id FOR COLUMN Idproject INTEGER,
IP_Address FOR COLUMN IPADDRESS CHAR(128),
Host_name FOR COLUMN Hostname CHAR(255),
PRIMARY KEY(Partition_id))
RCDFMT Partitionf;
Ensuite, sur la création de la table qui utilise la colonne Partition_id en clef étrangère, on ajoute une contrainte de FOREIGN KEY comme ci-dessous :
CONSTRAINT ‘Nom_de_la_contrainte’ FOREIGN KEY(‘Colonne_clef_etrangere’) REFERENCES ‘Table_reference’(‘Colonne_primary_key’)
CREATE TABLE Liste_livraison_partition for system name LIVRPART(
Part_livraison_id FOR COLUMN idpartlivr INTEGER NOT NULL
GENERATED ALWAYS AS IDENTITY
(MINVALUE 1
MAXVALUE 999999999
INCREMENT BY 1),
Project_Id FOR COLUMN Idproject INTEGER,
Partition_id FOR COLUMN idpart INTEGER,
Ident_ip_dest FOR COLUMN idpartdst INTEGER,
Constraint Partition_id FOREIGN KEY(Partition_id)
REFERENCES Liste_partition(Partition_id),
Constraint Ident_ip_dest FOREIGN KEY(Ident_ip_dest)
REFERENCES Liste_partition(Partition_id))
RCDFMT Partlivrf;
Cordialement,