it:postgresql:exception
Различия
Показаны различия между двумя версиями страницы.
it:postgresql:exception [2023/12/14 18:07] – создано ura2404 | it:postgresql:exception [2023/12/14 18:16] (текущий) – ura2404 | ||
---|---|---|---|
Строка 2: | Строка 2: | ||
[[https:// | [[https:// | ||
+ | |||
+ | |||
+ | __**Полный список переменных, | ||
+ | |||
+ | ^Имя^Тип^Описание^ | ||
+ | |RETURNED_SQLSTATE|text|код исключения| | ||
+ | |COLUMN_NAME|text|имя столбца, | ||
+ | |CONSTRAINT_NAME|text|имя ограничения целостности, | ||
+ | |PG_DATATYPE_NAME|text|имя типа данных, | ||
+ | |MESSAGE_TEXT|text|текст основного сообщения исключения| | ||
+ | |TABLE_NAME|text|имя таблицы, | ||
+ | |SCHEMA_NAME|text|имя схемы, относящейся к исключению| | ||
+ | |PG_EXCEPTION_DETAIL|text|текст детального сообщения исключения (если есть)| | ||
+ | |PG_EXCEPTION_HINT|text|текст подсказки к исключению (если есть)| | ||
+ | |PG_EXCEPTION_CONTEXT|text|строки текста, | ||
+ | |||
+ | |||
+ | __**Пример**__ | ||
+ | <code sql> | ||
+ | BEGIN | ||
+ | -- код, в котором может возникнуть исключение | ||
+ | EXCEPTION WHEN OTHERS | ||
+ | THEN | ||
+ | GET STACKED DIAGNOSTICS | ||
+ | err_code = RETURNED_SQLSTATE, | ||
+ | msg_text = MESSAGE_TEXT, | ||
+ | exc_context = PG_CONTEXT, -- контекст исключения | ||
+ | msg_detail = PG_EXCEPTION_DETAIL, | ||
+ | exc_hint = PG_EXCEPTION_HINT; | ||
+ | |||
+ | RAISE NOTICE 'ERROR CODE: % MESSAGE TEXT: % CONTEXT: % DETAIL: % HINT: %', | ||
+ | | ||
+ | END | ||
+ | </ | ||
+ | |||
+ | Результаты обработки ошибки будут выведены на консоль (пример ошибки деления на 0): | ||
+ | < | ||
+ | ERROR CODE: 22012 | ||
+ | MESSAGE TEXT: деление на ноль | ||
+ | CONTEXT: функция PL/pgSQL catch_exception(integer, | ||
+ | GET STACKED DIAGNOSTICS | ||
+ | SQL-оператор: | ||
+ | функция PL/pgSQL inline_code_block, | ||
+ | Result: 0 | ||
+ | </ |
it/postgresql/exception.1702577221.txt.gz · Последнее изменение: 2023/12/14 18:07 — ura2404