SQLCODE
PSQL
SQLCODE
INTEGER
В блоках обработки ошибок WHEN … DO
контекстная переменная SQLCODE
содержит текущий код ошибки SQL.До Firebird 2.0 значение SQLCODE
можно было получить только в блоках обработки ошибок WHEN SQLCODE и WHEN ANY.Теперь она может быть отлична от нуля в блоках WHEN GDSCODE
и WHEN EXCEPTION
при условии, что ошибка, вызвавшее срабатывание блока, соответствует коду ошибки SQL.Вне обработчиков ошибок SQLCODE
всегда равен 0, а вне PSQL не существует вообще.
SQLCODE
...
WHEN ANY DO
BEGIN
IF (SQLCODE <> 0) THEN
MSG = 'Обнаружена ошибка SQL!';
ELSE
MSG = 'Ошибки нет!';
EXCEPTION EX_CUSTOM MSG;
END
...