Trigger Oracle remplacant un INSERT par un UPDATE
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 :
Code:
1 2 3 4 5 6 7 8 9
| -----------------
PERSONNE
-----------------
ID_PERSONNE (PK de la table )
NOM
PRENOM
DATE_NAISS
VILLE
TAILLE |
Lorsque j'effectue une requete INSERT comme :
Code:
1 2
| INSERT INTO PERSONNE ( ID_PERSONNE, NOM, PRENOM, DATE_NAISS, VILLE, TAILLE)
VALUES( 758, 'DUPOND', 'MARC', '10/05/1978', 'PARIS', 80 ) |
Imaginons qu'il existe un enregistrement dans la table :
Code:
123 | DUPOND | MARC | 10/05/1978 | MARSEILLE | 75
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:
123 | DUPOND | MARC | 10/05/1978 | PARIS| 80
Donc ma question est : est-ce-que ca vous semble possible?
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!