Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы-ответы (БД экзамен).docx
Скачиваний:
43
Добавлен:
07.04.2021
Размер:
2.35 Mб
Скачать

43. Pl/sql. Функции.

Функция – это подпрограмма, которая вычисляет значение.

Агрегатные функции.

Функция

Результат

COUNT

Количество строк или непустых значений полей, которые выбрал запрос.

SUM

Сумма всех выбранных значений данного поля.

AVG

Среднеарифметическое значение всех выбранных значений данного поля.

MIN

Наименьшее из всех выбранных значений данного поля.

MAX

Наибольшее из всех выбранных значений данного поля.

Стандартные встроенные функции:

Функция

Результат

CURRENT_DATE

Текущая дата.

CURRENT_TIME(точность)

Текущее время с указанной точностью.

LOWER(строкa)

Строка, преобразованная к нижнему регистру;

SUBSTRING(строка FROM n FOR длина)

Часть строки, начинающаяся с n-го символа и имеющая указанную длину.

TRANSLАТЕ(строка USING функция)

Строка, преобразованная с использованием, указанной функции.

UPPER(строка)

Строка, преобразованная к верхнему регистру.

44. Pl/sql. Триггеры.

Triggers Триггеры – специальные хранимые процедуры, вызываемые автоматически при изменении данных в таблице (при добавлении, изменении или удалении данных из таблицы).

Например, можно писать триггеры, срабатывающие при выполнении над таблицей операций INSERT, UPDATE или DELETE; при выдаче команд DDL; при входе пользователя в систему или его выходе из системы; при запуске или останове базы данных; при возникновении ошибок.

Между триггерами и процедурами PL/SQL есть три различия:

• Триггеры нельзя вызывать из кода программы. Oracle вызывает их автоматически в ответ на определенное событие.

• Триггеры не имеют списка параметров.

• Спецификация триггера немного отличается от спецификации процедуры.

Синтаксис команды для создания триггера, следующий:

--- CREATE [OR REPLACE] TRIGGER имя_триггера ---------------------

--- BEFORE | AFTER активизирующее_событие ON ссылка_на_таблицу ---

--- FOR EACH ROW [WHEN условие_срабатывания] ---------------------

--- тело_триггера ------------------------------------------------

Где:

имя_триггера – собственно имя вашего триггера.

активизирующее_событие – указывает момент активации триггера BEFORE до срабатывания оператора DML, AFTER после срабатывания оператора DML.

ссылка_на_таблицу – собственно таблица, для которой создан триггер.

FOR EACH ROW - если указано активируется от воздействия на строку если нет, то после любого оператора DML.

условие_срабатывания – если TRUE триггер срабатывает, если FALSE нет.

тело_триггера – собственно тело триггера.

Соседние файлы в предмете Базы данных