Bonjour,
Je débute sur DB2 et, je ne mis connais pas tellement en TRIGGER.
J'ai crée un TRIGGER qui fonctionne mais maintenant, je cherche à gérer les erreurs. Je voudrais que dès que le TRIGGER plante, cela me retourne un message me disant l'erreur qu'il y a. Pour le moment, j'ai créé le TRIGGER suivant :
CREATE TRIGGER IWH.EDITION_EXC AFTER UPDATE ON IWH.EDITION REFERENCING NEW AS n FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
SIGNAL SQLSTATE '75002'
SET MESSAGE_TEXT = 'Erreur' ;
insert into IWH.ARCHIVE
select n. BUSINESSVIEW, n.BUSINESSVIEWID, n.EDITIONNUMBER,
n.STATUS, n.SCHEDULETS, n.COMPLETEDTS,
case when n.status in (1, 6, 10) then CURRENT TIMESTAMP
else null end,
n.SCHEDULEID, n.RESCHEDULE, n.SOURCEIRNAME,
n.SOURCEIRTYPE, n.TARGETIRNAME, n.TARGETIRTYPE,
n.NUMBEROFRETRIES, n.RETRYDELAY, n.RETRIES,
n.AGENTSITENAME, n.RETURNCODE, n.TARGETIRDDDNAME,
n.BVTYPE, n.PROCESSNAME, n.STEPGROUPTYPE,
n.TARGETTABLEID, n.EDITIONPROCESS
FROM IWH.EDITION
WHERE editionnumber=n.editionnumber
and businessviewid=n.businessviewid ;
END
Le problème est que je ne veux pas lui affecté un code d'erreur par défaut, mais qu'il me récupére l'erreur qu'il trouve.
J'ai essayé de déclarer une variable et, lui affecter l'erreur mais, cela ne fonctionne pas.
DOnc, je galère pas mal. Merci d'avance pour votre aide.
Aurevoir.
Partager