SQLCODE
PSQL
SQLCODE
INTEGER
Dans les blocs de gestion d’erreur WHEN … DO
la variable contextuelle SQLCODE
contient le code d’erreur SQL actuel.Avant Firebird 2.0, la valeur de SQLCODE
ne pouvait être récupérée que dans les blocs d’erreur WHEN SQLCODE et WHEN ANY.Il peut maintenant être non nul dans les blocs WHEN GDSCODE
et WHEN EXCEPTION
à condition que l’erreur qui a déclenché le bloc corresponde au code d’erreur SQL.En dehors des gestionnaires d’erreurs, SQLCODE
est toujours 0 et en dehors de PSQL, il n’existe pas du tout.
SQLCODE
...
WHEN ANY DO
BEGIN
IF (SQLCODE <> 0) THEN
MSG = 'Erreur SQL détectée !';
ELSE
MSG = 'Il n''y a pas d''erreur !';
EXCEPTION EX_CUSTOM MSG;
END
...
[fblangref-contextvars-gdscode], [fblangref-contextvars-sqlstate].