пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Программирование в интернет:
» ПИ
» ОКГТМ
» КИНФС

Мова PL/SQL. Використання SQLCODE та SQLERRM. Необроблені виключення.

PL/SQL – это процедурный язык в SQL (Procedural Language/SQL). PL/SQL расширяет     SQL конструкциями,        присутствующими   в          процедурных             языках программирования. Основная единица программы PL/SQL ­ это блок. Все программы PL/SQL состоят из блоков, которые могут быть вложены друг друга. Обычно, каждый блок соответствует какой-либо логической единице программы. Блок имеет следующую структуру:

  1.     DECLARE
  2.      /* Раздел описания: переменных, типов и подпрограмм.                   */      BEGIN
  3.      /* Раздел выполняемого кода: команды процедурного и SQL языков.        */
  4.      /* Это единственный обязательный раздел                                */
  5.      EXCEPTION
  6.      /* Раздел обработки исключительных ситуаций: команды обработки ошибок. */      END;

Обязательным является только раздел выполняемого кода, все остальные – не обязательны.

В разделе выполняемого кода PL/SQL программы могут присутствовать только некоторые команды SQL. Это команды ­ SELECT, INSERT, UPDATE, DELETE и несколько других команд обработки данных и управления транзакциями. Однако команда SELECT имеет специальный формат, в котором для размещения элементов строки используются переменные памяти. Команды определения данных, такие как CREATE, DROP или ALTER, в PL/SQL использовать нельзя. Выполняемый раздел может также содержать команды присваивания, ветвления, циклов, вызовов процедур и триггеров.  PL/SQL не чувствителен к регистру. Комментарии стиля C (/* ... * /) допустимы.

В обработчик WHEN OTHERS попадает любое необработанное исключение. Чтобы выяснить причину возникшего исключения можно воспользоваться функциями

SQLCODE - возвращает числовой код исключения (тип данных NUMBER)​ и ​SQLERRM - возвращает символьное сообщение об исключении, связанное с заданным кодом исключения​.

Примеры кодов, возвращаемых функцией SQLCODE:

  • 0 ­ Никаких исключений не возникло.
  • 1 ­ Пользовательское исключение.
  • 100 ­ исключение NO_DATA_FOUND.
  • отрицательное число ­ Другое исключение Oracle.

Имея код исключения и сообщение, можно решить, что делать с этим исключением дальше.

Для перехвата не предопределённого исключения, возбуждаемого сервером, необходимо сначала объявить его и связать со стандартной ошибкой Oracle, затем в секции обработки исключений к нему можно ссылаться по объявленному имени. 


21.01.2016; 18:20
хиты: 64
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь