Ключевое слово PRAGMA является директивой, которая передает некоторую управляющую информацию компилятору, но не преобразуется непосредственно в исполняемый код.
PL/SQL поддерживает следующие директивы:
AUTONOMOUS_TRANSACTION — приказывает исполнительному ядру PL/SQL выполнить
сохранение или откат любых изменений, внесенных в базу данных в текущем блоке, без воздействия на главную или внешнюю транзакцию.
EXCEPTION_INIT — приказывает компилятору связать конкретный номер ошибки
с идентификатором, объявленным в программе как исключение. Идентификатор должен соответствовать правилам объявления исключений.
DECLARE
no_such_sequence EXCEPTION;
PRAGMA EXCEPTION_INIT (no_such_sequence, –2289);
BEGIN
...
EXCEPTION
WHEN no_such_sequence
THEN
q$error_manager.raise_error ('Sequence not defined');
END;
RESTRICT_REFERENCES — задает для компилятора уровень чистоты программного пакета (отсутствия действий, вызывающих побочные эффекты).
SERIALLY_REUSABLE — сообщает исполнительному ядру PL/SQL, что данные уровни
пакета не должны сохраняться между обращениями к ним.
PL/SQL поддерживает следующие директивы:
AUTONOMOUS_TRANSACTION — приказывает исполнительному ядру PL/SQL выполнить
сохранение или откат любых изменений, внесенных в базу данных в текущем блоке, без воздействия на главную или внешнюю транзакцию.
EXCEPTION_INIT — приказывает компилятору связать конкретный номер ошибки
с идентификатором, объявленным в программе как исключение. Идентификатор должен соответствовать правилам объявления исключений.
DECLARE
no_such_sequence EXCEPTION;
PRAGMA EXCEPTION_INIT (no_such_sequence, –2289);
BEGIN
...
EXCEPTION
WHEN no_such_sequence
THEN
q$error_manager.raise_error ('Sequence not defined');
END;
RESTRICT_REFERENCES — задает для компилятора уровень чистоты программного пакета (отсутствия действий, вызывающих побочные эффекты).
SERIALLY_REUSABLE — сообщает исполнительному ядру PL/SQL, что данные уровни
пакета не должны сохраняться между обращениями к ним.
Комментариев нет:
Отправить комментарий