ОБЗОР PL/SQL

advertisement
ОБЗОР PL/SQL
Общие сведения
Что такое PL/SQL?
• PL/SQL - это язык программирования, объединяющий в
себе возможности процедурных языков и SQL. Иначе говоря,
он представляет собой процедурное расширение языка
SQL, отсюда и название - Procedural Language SQL. PL/SQL
является родным языком Oracle, так как он интегрирован с
сервером базы данных и его код выполняется
непосредственно сервером, поэтому программы,
написанные на PL/SQL, работают быстро и эффективно.
Возможность использовать SQL в блоках PL/SQL - одна из
важнейших его характеристик. PL/SQL применяется для
доступа к базам данных Oracle из различных сред
разработки, одной из которой является Oracle Forms.
Преимущества PL/SQL
• Модульная разработка программ
• Объявление идентификаторов
• Структуры управления процедурного
языка
• Обработка ошибок
• Переносимость
• Интеграция
• Повышение производительности
Резкое повышение
производительности PL/SQL
SQL
ПРИЛОЖЕНИЕ
SQL
SQL
Другие DBMS
SQL
Приложение
SQL
IF…THEN
SQL
ELSE
SQL
END IF
SQL
Oracle с
PL/SQL
Блочная структура PL/SQL
PL/SQL, как и любой другой процедурный язык
программирования, состоит из логически
связанных элементов, объединенных в
программные единицы, которые называются
блоками. Каждый модуль PL/SQL состоит как
минимум из одного блока. Блоки PL/SQL могут
содержать любое количество подблоков, то есть
иметь различный уровень вложенности. Блок как
структурная единица логически связанных
элементов определяет область их действия,
делает код читабельным и простым для
понимания. В PL/SQL различают два типа блока:
 анонимные блоки;
 именованные блоки.

Блочная структура PL/SQL
DECLARE – раздел объявлений (необязательно ) .
◦ Переменные, константы, курсоры,
пользовательские исключения
BEGIN - обязательно
◦ Операторы SQL
◦ Управляющие операторы PL/SQL
EXCEPTION - необязательно
◦ Действия, выполняемые при возникновении
ошибки
END - обязательно
Анонимные блоки

Это блоки, которые не имеют имени.
Анонимные блоки не могут быть
вызваны другими блоками, так как у
них нет имени, на которое можно
ссылаться.
Именованные блоки

Именованные блоки - это блоки,
которые имеют имя, например,
функция или процедура. Несмотря на
то что анонимные блоки используются
часто, каждый разработчик пытается
оформить свою PL/SQL-программу как
именованный блок. Преимущество
именованного блока в том, что у него
есть имя и на него можно ссылаться из
других блоков.
Пример блока PL/SQL
DECLARE
v_product_id s_product.id%TYPE;
BEGIN
SELECT id
INTO v_product_id
FROM s_product
WHERE id = &p_product_id;
DELETE FROM s_inventory
WHERE product_id = v_product_id;
СОMMIТ;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
INSERT INTO exception_table (message)
VALUES
('Возникла ошибка в базе данных.');
COMMIT;
END;
Программные конструкции
Анонимный
блок
Триггер
приложения
Триггер
базы
данных
DECLARE
BEGIN
EXCEPTION
END;
Хранимая
процедура/
функция
Прикладная
процедура/
функция
Пакет
процедур
Типы блоков
[DECLARE]
PROCEDURE name
IS
BEGIN
◦ statements
[EXCEPTION]
END;
FUNCTION name
RETURN datatype
IS
BEGIN
– statements
[EXCEPTION]
END;
BEGIN
– statements
RETURN value;
[EXCEPTION]
END;
Среда PL/SQL
Блок
PL/SQL
Ядро PL/SQL
Блок
PL/SQL
не SQL
SQL
Блок PL/SQL
Сервер Oracle
Блок
PL/SQL
Продукт Procedure Builder
•
•
•
•
Графическая среда для разработки кода PL/SQL
Встроенные редакторы
Компиляция, тестирование и отладка кода
Разбиение приложения на компоненты позволяет
перемещать программные единицы мышью между
клиентом и сервером
Download