Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с Oracle / Язык PL SQL.docx
Скачиваний:
11
Добавлен:
28.06.2021
Размер:
768.74 Кб
Скачать

Встроенные пакеты утилит

Oracle включает несколько встроенных пакетов утилит, которые предоставляют полезные средства разработки приложений. В таблице описаны некоторые встроенные пакеты, дос­тупные в базах данных Oracle.

Имя пакета

Описание

DBMS_ALERT

DBMS_AQ

DBMS_AQADM

DBMS_CRYPTO

DBMS_DESCRIBE

DBMS_LOB

DBMS_LOCK

DBMS_METADATA

DBMS_OUTPUT

DBMS_PIPE

DBMS_RANDOM

DBMS_ROWID

DBMS_SCHEDULER

DBMS_SESSION

DBMS_SPACE

DBMS_STATS

DBMS_TRANSACTION

UTL_FILE

UTL_HTTP

UTL_SMTP

Процедуры и функции, позволяющие приложениям сообщать об аварийных ситуациях с указанием их типа без опроса

Процедуры и функции для установки очередности выполнения транзакций и администрирования механизмов установки очередности

Процедуры и функции для шифрования и расшифровки данных на диске в условиях, когда необходимо обеспечить защиту данных

Процедуры и функции для описания API для хранимых процедур ифункций

Процедуры и функции для операций с данными типов BLOB,CLOB, NCLOBи BFILE

Процедуры и функции, позволяющие приложениям координировать доступ к совместно используемым ресурсам

Процедуры и функции для извлечения метаданных об объектах схемы из словаря базы данных, такого как XML или SQLDDL

Процедуры и функции, позволяющие программе PL/SQL генерировать вывод на терминал

Процедуры и функции, позволяющие сеансам баз данных осуществлять связь между собой через коммуникационные каналы (pipes)

Процедуры и функции для генерирования случайных чисел и строк для приложений

Процедуры и функции, позволяющие приложениям легко интерпретировать базовый 64-символьный тип ROWID

Процедуры и функции для создания расписания выполнения ра­бот

Процедуры и функции для управления сеансом пользователя приложения

Процедуры и функции для анализа использования пространствадля хранения и оценки требований к нему

Процедуры и функции для поддержки статистики, помогающей оптимизировать выполнение команд SQL

Процедуры для ограниченного контроля транзакций

Процедуры и функции для чтения и записи текстовых файлов в файловую систему сервера

Процедуры и функции для получения доступа к данным по протоколу передачи гипертекста (HypertextTransferProtocol–HTTP)

Процедуры и функции для отправки электронной почты по простому протоколу передачи почты (SimpleMailTransferProtocol– SMTP)

Триггеры баз данных

Триггером базы данных называется хранимая процедура, которая выполня­ется, когда происходит некоторое событие. Самым распространенным типом триггера, который вы можете использовать, является триггер DML, который связан с конкретной таблицей; когда приложение обраща­ется к таблице с помощью команды SQLDML, удовлетворяющей услови­ям срабатывания триггера, Oracle автоматически запускает триггер для выполнения этой операции. Триггеры используются для настройки реак­ции Oracle на события приложения.

Примечание Oracle также поддерживает триггеры, которые срабатывают в от­вет на события на уровне базы данных и на уровне схемы. Более подробная инфор­мация об этих типах триггеров приведена в Справочнике по командам SQLдля баз данных Oracle.

Для создания триггера DML используется SQL-команда CREATETRIGGER. Упрощенный (неполный) синтаксискоманды CREATE TRIGGER имеетвид:

О CREATE [OR REPLACE] TRIGGER trigger{BEFORE|AFTER} {DELETEfINSERT|UPDATE [OF column [.column] ... ]}

[OR {DELETE|INSERT|UPDATE [OF column [.column] ... J} ] ... ON table

FOR EACH ROW [WHEN condition] ] ... PL/SGL block . . . END [trigger]

Определение триггера DML-включает в себя следующие уникальные части:

  • Определение триггера включает в себя список директив триггера, включая команды INSERT, LTPDATE и/или DELETE, вызывающие срабатывание триггера. Триггер связан с одной и только одной таб­лицей. ,

  • Срабатывание триггера может происходить до его директивы или после, в зависимости от логики приложения.

  • Б определении триггера указывается, является ли он триггером ди­рективы или триггером строки. Триггер директивы срабатывает только один раз, независимо оттого, на сколько строк распростра­няется его действие.