[Oracle 8i][PL/SQL] requetes, SQLERRM & EXCEPTION
Bonjour à toutes et à tous.
J'ai un petit soucis de compréhension avec l'utilisation de SQLERRM.
En gros, mon code est le suivant :
Code:
1 2 3 4 5 6 7
| <requete insert>
IF(SQL%FOUND) THEN
vCrFonction := 1;
ELSE
RAISE vErrInsert;
END IF |
Un peu plus loin...
Code:
1 2 3 4 5 6
| EXCEPTION
WHEN vErrInsert THEN
vLibErreur := '[' ||SQLCODE||'] '||SQLERRM;
Tracage de erreur
RETURN -1;
END MaFonction; |
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.
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