Bonjour,
j'ai deux tables :
J'ai crée une FK comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 la première : CREATE TABLE ENTFACT ( ID BIGINT NOT NULL, EF_NUMPOSTE VARCHAR(3), EF_DATEFACTURE DATE, EF_HEUREFACTURE TIME, EF_ETAT CHAR(1), EF_CODECLIENT VARCHAR(15), ); ALTER TABLE ENTFACT ADD PRIMARY KEY (ID); et la seconde : CREATE TABLE LIGFACT ( ID BIGINT NOT NULL, LF_NUMLIGNE INTEGER NOT NULL, LF_TYPELIGNE SMALLINT, LF_CODECONSO VARCHAR(15), LF_LIBELLECONSO VARCHAR(80), LF_QUANTITE INTEGER, ... ); ALTER TABLE LIGFACT ADD CONSTRAINT PK_LIGFACT PRIMARY KEY (ID, LF_NUMLIGNE);
Sur la première table, la valeur de la clé (ID) s'incrémente automatiquement à l'aide d'un générateur et d'un trigger à chaque insert.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 alter table LIGFACT add constraint FK_LIGFACT_1 foreign key (ID) references ENTFACT (ID) on delete CASCADE on update CASCADE
Mon problème est le suivant :
Je fais un insert d'une facture en mettant à jour les deux tables dans une meme transaction, lorsque je commit, j'ai le message suivant :
Violation of Foreign Key constraint "FK_LIGFACT_1" on table "LIGFACT"
Comment fait on pour faire un insert dans ce cas là ?
Merci
Partager