SQLSTATE

Available in: PSQL

Added in: 2.5.1

Description

In a WHEN … DO error handler, the SQLSTATE context variable contains the 5-character, SQL-2003-compliant status code resulting from the statement that raised the error. Outside error handlers, SQLSTATE is always '00000'. Outside PSQL it is not available at all.

Type: CHAR(5)

Example

when any
do
begin
   Msg = case sqlstate
         when '22003' then 'Numeric value out of range.'
         when '22012' then 'Division by zero.'
         when '23000' then 'Integrity constraint violation.'
        else 'Something bad happened! SQLSTATE = ' || 
sqlstate
      end;
   exception ex_custom Msg;
end

Notes: