🗊 Презентация Программирование на языке PL/SQL

Категория: Информатика
Нажмите для полного просмотра!
Программирование на языке PL/SQL, слайд №1 Программирование на языке PL/SQL, слайд №2 Программирование на языке PL/SQL, слайд №3 Программирование на языке PL/SQL, слайд №4 Программирование на языке PL/SQL, слайд №5 Программирование на языке PL/SQL, слайд №6 Программирование на языке PL/SQL, слайд №7 Программирование на языке PL/SQL, слайд №8 Программирование на языке PL/SQL, слайд №9 Программирование на языке PL/SQL, слайд №10 Программирование на языке PL/SQL, слайд №11 Программирование на языке PL/SQL, слайд №12 Программирование на языке PL/SQL, слайд №13 Программирование на языке PL/SQL, слайд №14 Программирование на языке PL/SQL, слайд №15 Программирование на языке PL/SQL, слайд №16 Программирование на языке PL/SQL, слайд №17 Программирование на языке PL/SQL, слайд №18 Программирование на языке PL/SQL, слайд №19

Вы можете ознакомиться и скачать презентацию на тему Программирование на языке PL/SQL. Доклад-сообщение содержит 19 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Курс «Базы данных» Тема. Программирование на языке PL/SQL. Часть 4 Барабанщиков Игорь Витальевич
Описание слайда:
Курс «Базы данных» Тема. Программирование на языке PL/SQL. Часть 4 Барабанщиков Игорь Витальевич

Слайд 2


План лекции Назначение триггеров Создание DML-триггеров Выполнение триггеров Мутирующие таблицы Сопровождение триггеров
Описание слайда:
План лекции Назначение триггеров Создание DML-триггеров Выполнение триггеров Мутирующие таблицы Сопровождение триггеров

Слайд 3


Триггеры Триггер – это блок PL/SQL, который автоматически запускается при возникновении определенных событий.
Описание слайда:
Триггеры Триггер – это блок PL/SQL, который автоматически запускается при возникновении определенных событий.

Слайд 4


Триггеры и хранимые процедуры Процедура или функция: можно явно вызывать (по имени процедуры) им могут быть переданы параметры. Триггер: не может...
Описание слайда:
Триггеры и хранимые процедуры Процедура или функция: можно явно вызывать (по имени процедуры) им могут быть переданы параметры. Триггер: не может быть вызван явно из другой процедуры БД не принимает никаких параметров при вызове. это блок PL/SQL, который автоматически срабатывает при определенном событии.

Слайд 5


Назначение триггеров Проверка сложных ограничений целостности. Автоматизация обработки данных. Аудит действий пользователей. Установка начальных...
Описание слайда:
Назначение триггеров Проверка сложных ограничений целостности. Автоматизация обработки данных. Аудит действий пользователей. Установка начальных значений при добавлении данных в таблицы. Проверка дифференцированных прав доступа.

Слайд 6


DML - триггеры В команде создания триггера определяется: Время срабатывания (ДО или ПОСЛЕ) Событие, вызывающее срабатывание Имя таблицы Тип триггера...
Описание слайда:
DML - триггеры В команде создания триггера определяется: Время срабатывания (ДО или ПОСЛЕ) Событие, вызывающее срабатывание Имя таблицы Тип триггера (строчный или операторный) Предложение WHEN (ограничительное условие срабатывания триггера) Тело триггера (блок PL/SQL)

Слайд 7


Синтаксис создания триггера CREATE [OR REPLACE] TRIGGER { BEFORE | AFTER } { INSERT | DELETE | UPDATE [ OF column_commalist ] } ON [ REFERENCING...
Описание слайда:
Синтаксис создания триггера CREATE [OR REPLACE] TRIGGER { BEFORE | AFTER } { INSERT | DELETE | UPDATE [ OF column_commalist ] } ON [ REFERENCING old_or_new_values_alias_list ] [ FOR EACH { ROW | STATEMENT } ] [ WHEN ] [ DECLARE -- описание переменных, констант и -- других элементов программы ] BEGIN -- программа на процедурном языке (PL/SQL) END;

Слайд 8


Параметры триггеры DML INSERT | DELETE | UPDATE [of column] – событие триггера. Событием триггера может быть одна команда или любая комбинация...
Описание слайда:
Параметры триггеры DML INSERT | DELETE | UPDATE [of column] – событие триггера. Событием триггера может быть одна команда или любая комбинация указанных команд. BEFORE | AFTER – время срабатывания триггера: перед выполнением события триггера или после него. Ограничения целостности проверяются во время выполнения события триггера. ON – таблица, к которой привязан триггер. FOR EACH { ROW | STATEMENT } – область действия триггера (для каждой строки или для команды). WHEN – условие срабатывания триггера. Если оно не выполняется, триггер не будет запущен.

Слайд 9


Запуск и выполнение триггеров Триггер запускается автоматически при наступлении события триггера. Триггер выполняется в рамках той транзакции, к...
Описание слайда:
Запуск и выполнение триггеров Триггер запускается автоматически при наступлении события триггера. Триггер выполняется в рамках той транзакции, к которой относится событие триггера. Процедура триггера не может содержать команды управления транзакциями и команды DDL. Процедура триггера выполняется в режиме интерпретации.

Слайд 10


Последовательность срабатывания
Описание слайда:
Последовательность срабатывания

Слайд 11


Пример 1. Ограничение целостности -- Зарплата сотрудника должна попадать в один из -- интервалов значений зарплаты, которые -- установлены для разных...
Описание слайда:
Пример 1. Ограничение целостности -- Зарплата сотрудника должна попадать в один из -- интервалов значений зарплаты, которые -- установлены для разных категорий сотрудников -- в таблице SQL_GRADE. create or replace trigger check_salary before INSERT or UPDATE of salary ON emp for each row when :new.salary >= 4500 declare cnt number(3); begin select count(*) into cnt from sal_grade where :new.salary between low_val and high_val if cnt=0 then raise_application_error(-20050, ’Зарплата не попадает ни в один из допустимых интервалов'); end if; end;

Слайд 12


Псевдозаписи Позволяют обратиться к полям изменяемой записи и получить значения полей до и после изменения. Это записи old и new. С помощью...
Описание слайда:
Псевдозаписи Позволяют обратиться к полям изменяемой записи и получить значения полей до и после изменения. Это записи old и new. С помощью конструкции Referencing можно изменить их имена. Эти записи есть только у триггеров уровня строки (row level).

Слайд 13


Пример 2. Аудит действий -- Отслеживаем действия пользователей над таблицей TAB -- и фиксируем данные о них в специальной таблице TAB_LOG create or...
Описание слайда:
Пример 2. Аудит действий -- Отслеживаем действия пользователей над таблицей TAB -- и фиксируем данные о них в специальной таблице TAB_LOG create or replace trigger audit_tab after INSERT or UPDATE or DELETE ON tab declare ch char := 'U'; begin if INSERTING then ch := 'I'; elsif DELETING then ch := 'D'; elsif UPDATING then ch:= ‘U'; end if; insert into tab_log values (substr (user, 1, 30), ch, sysdate); end; -- INSERTING, DELETING и UPDATING – условные предикаты, -- позволяющие определить, какая операция явилась -- событием триггера

Слайд 14


Пример 3. Значения по умолчанию create or replace trigger set_emp before INSERT or UPDATE ON emp for each row begin if :new.date_get IS NULL then...
Описание слайда:
Пример 3. Значения по умолчанию create or replace trigger set_emp before INSERT or UPDATE ON emp for each row begin if :new.date_get IS NULL then :new.date_get := trunc(sysdate); else :new.date_get := trunc(:new.date_get); end if; :new.name := upper(:new.name); end;

Слайд 15


Мутирующие таблицы Мутирующей считается таблица, изменяемая командой INSERT, UPDATE, DELETE, которая запустила этот триггер, а также таблицы, которые...
Описание слайда:
Мутирующие таблицы Мутирующей считается таблица, изменяемая командой INSERT, UPDATE, DELETE, которая запустила этот триггер, а также таблицы, которые связаны с ней ссылочной целостностью DELETE CASCADE. Таблица не считается мутирующей для триггера уровня предложения, за исключением случая, когда триггер запускается как результат DELETE CASCADE. Триггер не может обращаться к мутирующей таблице: читать или изменять её.

Слайд 16


Пример мутирующей таблицы CREATE TABLE emp(ename char(20), sal number(5)); CREATE TRIGGER emp_upd AFTER UPDATE ON emp FOR EACH ROW DECLARE v_sum...
Описание слайда:
Пример мутирующей таблицы CREATE TABLE emp(ename char(20), sal number(5)); CREATE TRIGGER emp_upd AFTER UPDATE ON emp FOR EACH ROW DECLARE v_sum number(7); BEGIN SELECT sal INTO v_sum FROM emp WHERE emp_id=10 ; END; / UPDATE emp SET sal=sal*1.1 WHERE depno=50;

Слайд 17


Пример мутирующей таблицы
Описание слайда:
Пример мутирующей таблицы

Слайд 18


Управление триггерами Отключение/включение триггера ALTER TRIGGER имя_триггера DISABLE | ENABLE; Отключение/включение всех триггеров ALTER TABLE...
Описание слайда:
Управление триггерами Отключение/включение триггера ALTER TRIGGER имя_триггера DISABLE | ENABLE; Отключение/включение всех триггеров ALTER TABLE имя_таблицы DISABLE | ENABLE ALL TRIGGERS; Перекомпиляция триггера ALTER TRIGGER имя_триггера COMPILE; Удаление триггера DROP TRIGGER имя_триггера; Получение информации о триггерах SELECT * FROM user_triggers;

Слайд 19


Итоги Триггер – это блок PL/SQL, который автоматически выполняется при наступлении определенного события в БД. Триггеры используют для реализации...
Описание слайда:
Итоги Триггер – это блок PL/SQL, который автоматически выполняется при наступлении определенного события в БД. Триггеры используют для реализации сложных правил бизнес-логики, которые нельзя реализовать с помощью декларативных ограничений целостности.



Похожие презентации
Mypresentation.ru
Загрузить презентацию