Bonjour, j'ai un programme qui réalise des INSERT dans une table.
Je souhaiterais (si possible) créer un Trigger Oracle qui, avant d'effectuer l'INSERT, vérifie l'existence d'un enregistrement semblable dans la base et auquel cas réalise un UPDATE de cet enregistrement plutôt qu'un INSERT dans la base.
Je vais tenter d'expliquer ce que je veut faire a l'aide d'un exemple bateau :
Lorsque j'effectue une requete INSERT comme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ----------------- PERSONNE ----------------- ID_PERSONNE (PK de la table ) NOM PRENOM DATE_NAISS VILLE TAILLE
Imaginons qu'il existe un enregistrement dans la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO PERSONNE ( ID_PERSONNE, NOM, PRENOM, DATE_NAISS, VILLE, TAILLE) VALUES( 758, 'DUPOND', 'MARC', '10/05/1978', 'PARIS', 80 )
Je souhaiterais que lors de l'INSERT, mon TRIGGER trouve l'enregistrement comportant les même NOM, PRENOM, et DATE_NAISS, et que si un enregistrement existe, plutot que de faire l'INSERT prévu, il réalise un UPDATE de l'enregistrement existant, qui deviendra donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 123 | DUPOND | MARC | 10/05/1978 | MARSEILLE | 75
Donc ma question est : est-ce-que ca vous semble possible?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 123 | DUPOND | MARC | 10/05/1978 | PARIS| 80
J'espere avoir été clair dans ma requête, si ce n'est pas le cas n'hésiter pas a me le signaler!
Merci a ceux qui pourront m'aider!
Partager