- •4.1 Цель работы
- •4.2 Методические указания к выполнению работы
- •4.3 Теоретические сведения
- •Общие сведения об управляющих конструкциях
- •4.4 Примеры создания и использования функций
- •Создание и работа с пользовательскими функциями
- •4.5 Порядок выполнения лабораторной работы ( 3 задания)
- •4.6 Контрольные вопросы
- •4.7 Указания к оформлению отчета
- •Заполнение таблиц
Лабораторная работа № 4 (Oracle)
ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ РАЗРАБОТКИ УПРАВЛЯЮЩИХ СТРУКТУР В PL/SQL
4.1 Цель работы
Ознакомление с основными возможностями языка PL/SQL. Закрепление теоретических и приобретение практических навыков работы со встроенными функциями языка PL/SQL и SQL, а также создание хранимых пользовательских функций и обработка результатов их выполнения.
4.2 Методические указания к выполнению работы
PL/SQL является языком, структурированным блоками, т.е. содержащим в качестве основных единиц процедуры, функции и неименованные блоки. Каждый такой логический блок соответствует некоторой проблеме или подпроблеме, которую он решает. Для выполнения лабораторной работы необходимо повторить теоретический материал, касающийся создания и выполнения неименованных блоков, хранимых процедур и функций, изложенные в лекционном материале. Выполнение работы можно осуществлять как в оболочке SQL*Plus, так и с помощью программы Oracle SQL Developer.
Порядок выполнения и критерии оценивания изложены в п. 4.5.
Срок выполнения работы – 2 недели.
4.3 Теоретические сведения
PL/SQL – это процедурное расширение языка SQL фирмы Oracle. Он является основным языком для разработки приложений в СУБД Oracle..
Процедурный блочно-структурированный язык PL/SQL предоставляет следующие возможности:
−реализация подпрограмм как отдельных блоков;
−использование вложенных блоков;
−создание пакетов, хранимых в базе данных и позволяющих объединять процедуры, функции и переменные, связанные общей логикой, в одно целое;
−предоставление интерфейса для вызова подпрограмм, реализованных на других языках программирования;
−поддержка выполнения SQL–операторов на сервере Oracle;
−применение явного и неявного объявления курсора, поддержка переменных типа курсор;
−введение типов коллекций для вложенных таблиц и varray-массивов;
−введение объектных типов, позволяющих инкапсулировать структуру объекта;
−реализация набора операторов управления и операторов цикла;
−поддержка механизма обработки исключений и т.д.
PL/SQL предоставляет много мощных функций, помогающих манипулировать данными. Возможно использование функций всюду, где допускаются выражения того же типа. Более того, можно вкладывать вызовы функций друг в друга.
Для встроенных функций выделяют следующие категории: функции сообщений об ошибках; числовые функции; символьные функции; функции преобразований; календарные функции; смешанные функции.
Создание пользовательских функций.
Основная часть лабораторной работы касается разработки и выполнения неименованных блоков, хранимых процедур и функций, поэтому вспомним синтаксис их формирования.
Команда CREATE FUNCTION создает пользовательскую функцию (user function), которую
также называют хранимой функцией (stored function), состоящую из набора операторов языка PL/SQL и вызываемую по имени.
Вызов и выполнение функции из командной строки производится как выбор результатов запроса, возвращающего значение функции из стандартного пользовательского представления
DUAL.
SELECT FUNCTION_NAME (IN_PARAMS) FROM DUAL,
где
FUNCTION_NAME – имя пользовательской функции, которая должна быть выполнена; IN_PARAMS – список входных параметров. Параметры задаются через запятую.
Параметры символьного типа обязательно задаются в одинарных кавычках (апострофы); Команда CREATE PROCEDURE создает пользовательскую процедуру. Вызов и
выполнение процедуры из командной строки производится командой EXEC (EXECUTE).
EXEC PROCEDURE_NAME (PARAMS) FROM DUAL,
где
PROCEDURE_NAME – имя пользовательской процедуры, которая должна быть выполнена;
PARAMS – список параметров. Параметры задаются через запятую.
Общие сведения об управляющих конструкциях
Любая компьютерная программа может быть написана с использованием нескольких основных управляющих структур, которые можно комбинировать любым способом, необходимым для решения заданной проблемы.
Предложение IF используется когда необходимо предпринять альтернативные действия в зависимости от обстоятельств. Данное предложение позволяет выполнить последовательность предложений условно, т.о. будет выполнена эта последовательность или нет, зависит от значения условия. Можно выделить три формы предложений IF:
– IF-THEN: простейшая форма предложения, IF ассоциирует условие с последовательностью предложений, окружаемой ключевыми словами THEN и END IF;
Например:
IF условие THEN ряд_предложений;
END IF;
– IF-THEN-ELSE: данная форма предложения IF добавляет ключевое слово ELSE, за которым следует альтернативная последовательность предложений.
Например:
IF условие THEN ряд_предложений1;
ELSE
ряд_предложений2;
END IF;
– IF-THEN-ELSIF используется, если необходимо выбрать действие из нескольких взаимно исключающих альтернатив, использует ключевое слово ELSIF, чтобы ввести дополнительные условия.
Например:
IF условие1 THEN
ряд_предложений1; ELSIF условие2 THEN
ряд_предложений2;
ELSE
ряд_предложений3;
END IF;