ОБЗОР PL/SQL
Общие понятия PL/SQL – это дополнение стандартного языка SQL многими средствами, присущими современным языкам программирования. PL/SQL обладает многими преимуществами, недоступными в SQL: Модульная разработка программ. Объявление переменных. Управляющие структуры. Обработка ошибок. Переносимость. Интеграция. Повышенная производительность
Повышение производительности PL/SQL SQLIF..THEN SQL SQLELSE END IF; SQLSQLIF..THEN SQL SQLELSE END IF; SQL Приложение Приложение Другие DBMS Oracle с PL/SQL (Sql)
Блочная структура DECLARE – необязательно – Переменные, константы, курсоры, исключения пользователя. BEGIN – обязательно – операторы SQL. – операторы PL/SQL. EXCEPTION – необязательно – Действия, выполняемые при возникновении ошибки. END; – необязательно DECLARE – необязательно – Переменные, константы, курсоры, исключения пользователя. BEGIN – обязательно – операторы SQL. – операторы PL/SQL. EXCEPTION – необязательно – Действия, выполняемые при возникновении ошибки. END; – необязательно
Пример блока PL/SQL DECLARE v_product_ids_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; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; INSERT INTO exception_table (message) VALUES ('Some error occurred in the database.'); COMMIT; END; DECLARE v_product_ids_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; COMMIT; EXCEPTION WHEN OTHERS THEN ROLLBACK; INSERT INTO exception_table (message) VALUES ('Some error occurred in the database.'); COMMIT; END;
Типы блоков PL/SQL анонимный процедурафункция [DECLARE]BEGIN --statements --statements[EXCEPTION]END;[DECLARE]BEGIN [EXCEPTION]END; PROCEDURE name ISBEGIN --statements --statements[EXCEPTION]END; PROCEDURE name ISBEGIN --statements --statements[EXCEPTION]END; FUNCTION name RETURN datatype ISBEGIN --statements --statements RETURN value; RETURN value;[EXCEPTION]END; FUNCTION name RETURN datatype ISBEGIN --statements --statements RETURN value; RETURN value;[EXCEPTION]END;
Программные конструкции PL/SQL DECLAREBEGINEXCEPTIONEND;DECLAREBEGINEXCEPTIONEND; Анонимный блок блок Тригерприложения ХранимаяПроцедура(функция) Тригер Базы данных ПрикладнаяПроцедура(функция) пакет
Среда PL/SQL блок PL/SQL ядро PL/SQL серверOracle Блок PL/SQL Выполнение Процедурны х конструкций не SQL SQL Выполнение команд SQL
Продукт Procedure Builder Графическая среда для разработки кода PL/SQL Встроенные редакторы Компиляция, тестирование и отладка кода Разбиение приложения на компоненты позволяет перемещать программные единицы мышью между клиентом и сервером Графическая среда для разработки кода PL/SQL Встроенные редакторы Компиляция, тестирование и отладка кода Разбиение приложения на компоненты позволяет перемещать программные единицы мышью между клиентом и сервером
компонентыописание Object Navigatorуправление конструкциями PL/SQL. (навигатор объектов) Действия по отладке. PL/SQL InterpreterОтладка кода PL/SQL. Анализ (Интерпретатор PL/SQL)кода PL/SQL в реальном времени. Program Unit Editor (РедакторСоздание и редактирование программных единиц)исходного кода PL/SQL. Stored Program Создание и редактирование исходного Unit Editor (Редактор храни-кода PL/SQL на стороне сервера. Мых программных единиц) Database Trigger EditorСоздание и редактирование тригеров (Редактор тригеровбаз данных. Баз данных) Общие сведения о Procedure Builder