9.15SQLCODE

Available inPSQL

Deprecated in2.5.1

TypeINTEGER

DescriptionIn 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 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.

Example

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

🛑
Warning

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