Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
 Вывод SQLSTATE в случае ошибки при выполнении запроса  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10703
Иногда надо в хранимой процедуре написать обработчик ошибок (не пользовательских исключений). Для этого надо знать gdscode или SQLSTATE. Знать их наизусть проблематично, можно конечно поискать в документации, но это долго.

Вот подумал ну ладно сейчас выполню запрос в котором есть ошибка и узнаю её код. Типа вот такого

select cast('dddd' as int) from rdb$database


Ан нет IBExpert даёт только текст ошибки

Overflow occurred during data type conversion.
conversion error from string "dddd".

Для сравнения в ISQL эта информация есть

Statement failed, SQLSTATE = 22018
conversion error from string "dddd"

Нельзя ли добавить и в IBExpert SQLSTATE хотя бы для первичной ошибки? Если будет ещё и gdscode то вообще отлично.
19 ноя 20, 15:13    [22235425]     Ответить | Цитировать Сообщить модератору
 Re: Вывод SQLSTATE в случае ошибки при выполнении запроса  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10703
во IBE оказывается ещё не понимает вот такой конструкции WHEN SQLSTATE в редакторе процедур

CREATE OR ALTER PROCEDURE SP_TEST (
    TEMPSTR VARCHAR(19))
RETURNS (
    NUM INTEGER)
AS
BEGIN
  BEGIN
     NUM = CAST(TEMPSTR AS INTEGER);
     WHEN SQLSTATE '22018' DO
        NUM = 0;
  END
END


ругается при проверки синтаксиса, хотя компиляция успешна
19 ноя 20, 15:21    [22235432]     Ответить | Цитировать Сообщить модератору
 Re: Вывод SQLSTATE в случае ошибки при выполнении запроса  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Симонов Денис

Нельзя ли добавить и в IBExpert SQLSTATE хотя бы для первичной ошибки? Если будет ещё и gdscode то вообще отлично.


Можно.
19 ноя 20, 18:33    [22235620]     Ответить | Цитировать Сообщить модератору
 Re: Вывод SQLSTATE в случае ошибки при выполнении запроса  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Симонов Денис

ругается при проверки синтаксиса, хотя компиляция успешна


Это исправил.
19 ноя 20, 18:34    [22235622]     Ответить | Цитировать Сообщить модератору
Все форумы / IBExpert Ответить