Sous UNIX, lorsqu’on utilise la clause « WHENEVER SQLERROR » on se retrouve avec un code retour « batard » qui ne correspond en rien au code erreur Oracle.
C’est un comportement normal, car UNIX ne gère que les codes retours entre 0 et 255.
Le code retour en cas d’erreur résulte alors de la formule :
code_erreur_unix = modulo( code_erreur_oracle, 256 )
On ne peut alors pas retrouver le code erreur Oracle réel depuis UNIX.