Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Oracle_Лекция2.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
2.04 Mб
Скачать

2.2 Блоки pl/sql

Блоки PL/SQL, могут быть "именованными" и "не именованными". Блок PL/SQL является фундаментальной программной конструкцией! Программирование модулями позволяет разрабатывать легко читаемый код и программировать сверху вниз. Неименованный блок PL/SQL, имеет три раздела - Declaration (объявления), Body (тело) и, как правило, Exception (исключения).

Стандартная конструкция неименованного блока:

DECLARE

-- объявления

BEGIN

-- выполняемый код

EXCEPTION

-- обработка исключений

END;

/ -- символ завершения для запуска блока на компиляцию

Если есть желание написать и запустить вечную мантру программистов "Hello World!", то код ее реализующий таков:

BEGIN

DBMS_OUTPUT.put_line('Hello World!!!');

END;

/

BEGIN END - это обрамляющий программный блок. Пункт DECLARE отсутствует, в следствии того что, нам пока ничего не нужно декларировать! Но в дальнейшем он нам понадобиться! DBMS_OUTPUT.put_line вывод строки на экран. "/" - символ запускающий код на исполнение.

Вообще говоря, от таких программ как “Hello world” толку не сильно много. Попробуем написать что-нибудь более интересное и полезное.

2.3 Переменные и типы данных

Как и в любом другом уважающем себя языке программирования в PL/SQL имеется возможность объявлять переменные, инициализировать их при объявлении и т.д.

В PL/SQL существуют следующие (наиболее используемые) типы данных:

Строковые

  • CHAR

  • VARCHAR2

Числовые

  • NUMBER

  • INTEGER

  • REAL

Датные

  • DATE

  • TIMESTAMP

Дополнительные

  • BLOB

  • CLOB

  • BOOLEAN

Для строковых типов может быть задан максимальный размер строки, хранящейся в переменной. Отличие типов char и varchar2 в том, что первый хранит значение дополненное справа пробелами, до длины указанной при объявлении переменной, второй же просто хранит значимые символы строки, экономя таким образом место в памяти.

Для типа NUMBER может быть указана точность, с которой он хранит числовые значения. Типы INTEGER и REAL являются его подтипами, хранящими соответственно целые и действительные числа.

Для хранения даты и времени есть типы DATE и TIMESTAMP. Первый просто хранит дату, второй способен содержать в себе дату и время с точностью до миллисекунд.

Существуют также два типа для хранения больших объектов, таких как картинки или большой текст. Тип BLOB – это средство для хранения любых бинарных объектов, CLOB – специализированный тип для хранения больших объемов текста.

Тип BOOLEAN предназначен для хранения логических значений. Может содержать только значения “истина” или “ложь”.

Типичное объявление переменной выглядит следующим образом:

DECLARE

A INTEGER := 3; -- проинициализированная переменная

B INTEGER; -- простая переменная

C NUMBER(5,2):=12.43;-- переменная с точностью 5 знаков,2после запятой

K VARCHAR2(20) := 'lalala'; -- инициализированная строковая переменная

P VARCHAR2(20); -- строковая переменная длиной 20 символов

D CONSTANT REAL := 0.45; -- дробная константа

BEGIN

END;

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