Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / L45 / Основы языка PL_SQL.doc
Скачиваний:
69
Добавлен:
16.04.2013
Размер:
120.32 Кб
Скачать

Основы языка pl/sql

Сервер с БД

Вызов SQL

Строки данных

computr3tower

Вызов SQL

Строки данных

Система клиент-сервер, в которой используется язык SQL.

computr3tower

SQL-вызов

Сервер с БД и хранимыми процедурами PL/SQL

Значение

Система клиент-сервер, с применением серверного кода PL/SQL

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

Хранимая процедура- это программный модуль, выполняющий определенную обработку данных и возвращающий код, который позволяет определить, была ли процедура выполнена успешно. Например, хранимая процедура позволяет обработать группу строк с учетом заданного значения, а затем применить операторыDMLк другой таблице в соответствии с результатом обработки этой группы строк.

Функция- это разновидность процедуры, которая отличается тем, что она возвращает в вызывающий оператор значение, например, результат вычисления. Процедуры и функции представляют собой превосходный способ выполнения сложных вычислений или обработки, которую было бы нелегко осуществить с применением только операторовSQL.

Пакеты- это программные конструкции, позволяющие объединять взаимосвязанные процедуры и функции, или процедуры и функции, которые часто применяются в приложениях определенного типа. При ссылке на любую процедуру или функцию пакета в память загружаются все процедуры и функции этого пакета.

Триггерыназначаются таблицам и предоставляют возможность применять дополнительные функциональные средства либо до, либо после выполнения операторов DML. Триггеры позволяют вести контрольные журналы для указанных таблиц, применять к другим таблицам дополнительные операторы DML на основе результатов только что выполненного оператора DML и т.д.

Основные синтаксические конструкции языка pl/sql

В принципе базовый блок PL/SQLсостоит из четырех секций

  • Секция заголовка (header section)

  • Секция объявлений (declaration section)

  • Выполняемая секция (execution section)

  • Секция исключений (exceptionsection)

Основной формат процедуры примерно такой:

Заголовок

Procedure имя_процедуры

[(параметр_1 [IN/OUT] [тип_параметра

[DEFAULT значение по умолчанию]][,…])]

Объявления

IS / DECLARE

Переменная_1 её_тип;

Переменная_2 её_тип;

. . . . . . . . . . .

Выполняемая

секция

BEGIN

операторы

Секция исключений

EXCEPTIONS

WHEN имя_исключения THEN

. . . . . . . . . . .

Признак конца

END

Переменные PL/SQL

имя_переменной [CONSTANT]тип_данных[NOT NULL]

[{:= | DEFAULT} var/calc/expression]

Общепринятые соглашения об именованиях переменных PL/SQL

Префикс

Тип

Пример

v_

Стандартная переменная

v_empno

c_

Константа

c_sysdate

p_

Переменная SQL*Plus

p_infield

g_

Глобальная переменная SQL*Plus

g_field_pos

Тип данных может быть %TYPE, %ROWTYPE, NUMBER, DATE, либо текстовый, кроме того здесь допустимы ANSI-типы данных - DEC(p,s), DECIMAL(p,s), INT, INTEGER, REAL, FLOAT(p), DOUBLE PRECISION.

Пример

Procedure TEST

IS

emp_record emp%ROWTYPE;

Соседние файлы в папке L45