|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 1 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : janvier 2005 Messages : 3 ![]() |
dans le cas d'un appel à une proc stock, voici ce que nous faisons. Ca marche peutetre avec une erreur d'inser ?
BEGIN ATOMIC DECLARE rs INTEGER DEFAULT 0; ... CALL <procedure stockée> GET DIAGNOSTICS rs = RETURN_STATUS; ... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com