11.18SQLCODE

Available inPSQL

Deprecated in2.5.1

TypeINTEGER

Syntax

  |SQLCODE

In a WHEN …​ DO error handling block, the SQLCODE context variable contains the current SQL error code. Prior to Firebird 2.0, SQLCODE was only set in WHEN SQLCODE and WHEN ANY handlers. Now it may also be non-zero in WHEN GDSCODE, WHEN SQLSTATE and WHEN EXCEPTION blocks, provided that the condition raising the error corresponds with an SQL error code. Outside error handlers, SQLCODE is always 0. Outside PSQL, it doesn’t exist at all.

🛑
Warning

SQLCODE is now deprecated in favour of the SQL-2003-compliant Section 11.19, “SQLSTATE status code. Support for SQLCODE and WHEN SQLCODE will be discontinued in some future version of Firebird.

Example

  |when any
  |do
  |begin
  |  if (sqlcode <> 0) then
  |    Msg = 'An SQL error occurred!';
  |  else
  |    Msg = 'Something bad happened!';
  |  exception ex_custom Msg;
  |end