Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_BD.doc
Скачиваний:
57
Добавлен:
26.09.2019
Размер:
254.46 Кб
Скачать

13. Язык pl/sql. Основные типы данных и операторы.

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

С другой стороны, поскольку программы на PL/SQL выполняются, как правило, на стороне сервера, в этом языке отсутствуют развитые средства диалога с пользователем.

Структура программы

Базовой единицей программы, написанной на PL/SQL, является блок. Программы PL/SQL состоят из блоков, причем блоки могут следовать один за другим либо быть вложенными один в другой.

Имеются следующие виды блоков:

анонимные блоки;

именованные блоки, которые отличаются от анонимных наличием меток, являющихся именами блоков;

подпрограммы – процедуры, функции и модули (пакеты), хранящиеся в БД и выполняемые посредством инструкции вызова;

триггеры - именованные блоки, хранящиеся в БД и выполняющиеся неявно при наступлении соответствующих событий.

Идентификаторы и описания переменных

Описания локальных переменных имеют вид

имяпеременной типпеременной [CONSTANT] [NOT NULL] [ := начальноезначение ];

Типы данных

Рассмотрим принципы задания типов данных, определенных в PL/SQL.

Стандартные типы PL/SQL описаны в следующей таблице:

- Числовые BINARY_ INTEGER DEC, DECIMAL DOUBLE PRECISION FLOAT INT INTEGER NATURAL NUMERIC PLS_INTEGER POSITIVE REAL SIGNTYPE

SMALLINT

-символь­ные CHAR CHARACTER LONG NCHAR STRING VARCHAR2 VARCHAR

- Типы без обра­ботки RAW LONG RAW

-Времен­ной тип DATE

- Логический BOOLEAN

-Составные типы RECORD VARRAY TABLE

Пользовательские типы должны быть описаны до их использования с помощью конструкции

TYPE имятипа IS описаниетипа

Количество элементов, помещенных в таблицу, должно контролироваться программистом. Таблицы PL/SQL должны объявляться за два шага. Вначале объявляется тип TABLE, а затем создаются переменные этого типа. Для объявления таблицы используется следующий синтаксис:

TYPE имятипа IS TABLE OF базовыйтип

[NOT NULL] INDEX BY BINARY_INTEGER;

Мы можем описывать тип переменной с помощью ссылочных атрибутов %TYPE и %ROWTYPE. Первый из этих атрибутов определяется как

имяпеременной | таблицаБД,имястолбца %TYPE

операторы

оператор присваивания

переменная := выражение;

безусловный переход

GOTO метка;

условный оператор

IF логическоевыражение THEN операторы;[ ELSIF логическоевыражение THEN

операторы; ][ ELSE операторы; ]END IF;

цикл общего вида

LOOP[ операторы; ] [ EXIT [ WHEN условиевыхода]];[ операторы; ]END LOOP;

цикл FOR

FOR переменнаяцикла IN [REVERSE] начальноезначение .. конечноезначение LOOP

[ операторы; ] [ EXIT [ WHEN условиевыхода]]; [ операторы; ]END LOOP;

цикл WHILE

WHILE условиецикла LOOP[ операторы; ] [ EXIT [ WHEN условиевыхода]];[ операторы; ]END LOOP;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]