powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вывод SQLSTATE в случае ошибки при выполнении запроса
4 сообщений из 4, страница 1 из 1
Вывод SQLSTATE в случае ошибки при выполнении запроса
    #40020425
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда надо в хранимой процедуре написать обработчик ошибок (не пользовательских исключений). Для этого надо знать gdscode или SQLSTATE. Знать их наизусть проблематично, можно конечно поискать в документации, но это долго.

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

Код: sql
1.
select cast('dddd' as int) from rdb$database



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

Код: plaintext
1.
2.
Overflow occurred during data type conversion.
conversion error from string "dddd".

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

Код: plaintext
1.
Statement failed, SQLSTATE = 22018
conversion error from string "dddd"

Нельзя ли добавить и в IBExpert SQLSTATE хотя бы для первичной ошибки? Если будет ещё и gdscode то вообще отлично.
...
Рейтинг: 0 / 0
Вывод SQLSTATE в случае ошибки при выполнении запроса
    #40020430
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во IBE оказывается ещё не понимает вот такой конструкции WHEN SQLSTATE в редакторе процедур

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
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



ругается при проверки синтаксиса, хотя компиляция успешна
...
Рейтинг: 0 / 0
Вывод SQLSTATE в случае ошибки при выполнении запроса
    #40020550
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис

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


Можно.
...
Рейтинг: 0 / 0
Вывод SQLSTATE в случае ошибки при выполнении запроса
    #40020552
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис

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


Это исправил.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вывод SQLSTATE в случае ошибки при выполнении запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]