Bonjour à toutes et à tous.
J'ai un petit soucis de compréhension avec l'utilisation de SQLERRM.
En gros, mon code est le suivant :
Un peu plus loin...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <requete insert> IF(SQL%FOUND) THEN vCrFonction := 1; ELSE RAISE vErrInsert; END IF
En fait, je ne sais pas vraiment si mon SQLERRM va reprendre en plus de l'erreur qu'il y a eu dans la requete INSERT la requete elle-même. J'aimerais en effet tracer la requete si celle-ci a eu un soucis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 EXCEPTION WHEN vErrInsert THEN vLibErreur := '[' ||SQLCODE||'] '||SQLERRM; Tracage de erreur RETURN -1; END MaFonction;
NB : Imaginons que ma fonction ne contienne que cet insert et pas d'autres bouts de code, pensez-vous que j'ai d'autres cas d'exceptions à prévoir ? Pour plus de sécurité, ne vaut-il pas mieux que je mette un OTHERS dans mon bloc d'exceptions afin de parer au pire (comme par exemple table soudainement absente) ?
Merci d'avance pour votre aide.
Bahan
Partager