Bonjour à tous les forumeurs et formeuses, voici mon problème, j'ai crée une base de données dans laquelle je voudrais insérer des données dont l'id est auto incrémentée, pour illustrer mon propos je parlerais de ma table FOURNISSEUR
J'ai en premier lieu crée une séquence :
Suivi d'un trigger sur ma table fournisseur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE SEQUENCE autoincrement START WITH 1 MINVALUE 1 NOCYCLE NOCACHE ORDER; /
et enfin j'ajoute des données au moyen d'un fichier txt qui contient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE OR REPLACE TRIGGER increm_fournisseur BEFORE INSERT ON FOURNISSEUR REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN SELECT autoincrement1.nextval INTO:NEW.id_fournisseur FROM DUAL; END; /
Le problème étant que les données insérees se font en double, c'est à dire qu'au lieu de 3 lignes, j'en ai 6 qui se crée. Je vous demande donc quelle erreur j'ai faite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 INSERT INTO FOURNISSEUR (user_id_fournisseur, nom_fournisseur, mail_fournisseur) VALUES ( 1238, 'bara', 'fez.re@viacrzzesize.fr'); / INSERT INTO FOURNISSEUR (user_id_fournisseur, nom_fournisseur, mail_fournisseur) VALUES ( 2768, 'taffin', 'jaifaim@viacesi.fr'); / INSERT INTO FOURNISSEUR (user_id_fournisseur, nom_fournisseur, mail_fournisseur) VALUES ( 1789, 'Robespierre', 'robers@revolution.fr'); /
Partager