Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2006, 10h33   #1
Invité de passage
 
Inscription : mai 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 1
Points : 0
Points : 0
Par défaut Gestion des erreurs dans un TRIGGER

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.
SDU64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2006, 09h51   #2
Invité de passage
 
Inscription : janvier 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 3
Points : 1
Points : 1
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;
...
calib est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h19.


 
 
 
 
Partenaires

Hébergement Web