Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_04_Oracle %28PL_SQL%29 / Lab Oracle_04_2014_УправСтруктуры.pdf
Скачиваний:
8
Добавлен:
11.02.2015
Размер:
276.2 Кб
Скачать

Лабораторная работа № 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;