Bonjour,
Je suis entrain de mettre à jour une application java existante. Pour ce faire, j'ai besoin de faire un update sur une clé primaire.
(Pourquoi un update sur une clé primaire? : la table oracle sur laquelle je travaille est renseignée lors du batch 3 d'une chaine de traitement. On m'a demandé de faire en sorte de renseigner cette table au cours du 1er batch dans un souci de traçabilité. En revanche, l'id, la clé primaire de la table est générée sous un format que l'on doit garder au batch 3. Donc je renseigne bien ma table au batch 1 avec un id tempo, mais lors du batch 3, je dois écraser l'id tempo par le nouvel id généré par ce batch. C'est à ce moment là que je souhaite donc faire donc un update sur la clé primaire).
J'ai cherché comment faire ça et j'ai trouvé la solution des trigger (si j'ai bien compris).
Ma 1ère question est donc: est-ce qu'un trigger peut effectivement m'aider à faire un update sur une clé primaire?
Ma 2nd: si oui, est-ce que cette syntaxe est correcte sachant que je vais récupérer dans mon code java la valeur ici indiquée comme '9999999' ?
Ma 3ème (et là je ne suis probablement pas au bon endroit pour cette question): dans mon code java, dois-je mettre uniquement ma requête SQL d'update ou bien dois-je mettre le tout, c'est à dire du "create trigger" jusqu'au "end;" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 create trigger updateMaTableT before update on maTable for each row when(new.maTable_idndoc <> old.maTable_idndoc) begin insert into maTable (maTable_idndoc) values ('9999999') end;
Par avance, un grand merci pour vos infos et votre aide.
Partager