Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с Oracle / Язык PL SQL.docx
Скачиваний:
11
Добавлен:
28.06.2021
Размер:
768.74 Кб
Скачать

Основы программирования на языке pl/sql

Все процедурные языки имеют базовые элементы, ко­торые необходимо изучить до начала работы и написания программ на этом языке. Базовые элементы язы­ка PL/SQL включают:

  • объявление переменных программы и присвоение им значений;

  • управление порядком выполнения операторов программы с по­мощью циклов и условных операторов;

  • включение в программу команд SQL и взаимодействие с БД Oracle;

  • объявление и использование процедур и функций в блоках PL/SQL;

  • объявление заданных пользователем типов (записи и вложенные таблицы);

  • объявление и использование курсоров для обработки запросов, возвращающих более одной строки;

  • использование обработчиков исключений, реагирующих на ошибки при выполнении программы.

Переменные программы

Процедурно-ориентированные программы объявляют переменные и используют их для временного хранения информации. При объявлении переменной ееможно инициализировать сразу или сделать это позднее в теле программы. Если на переменную нало­жено ограничение состоящее в том, что ее значение не равно Null, то ее инициализация должна быть частью объявления. По умолчанию PL/SQL присваивает переменной значение Null, если ей не было при­своено значение явным образом. При объявлении переменной ей может быть задан любой тип Oracle и ANSI/ISO, тип, определенный пользователем, или один из под­типов (подтипом называется новый тип, являющийся подмножеством ба­зового типа).

Рассмотрим объявление перемен­ных и констант программы, их инициализацию и присвоение им значений в теле программы PL/SQL.

В примере есть несколько деталей, требующих уточнения:

  • при объявлении константы в объявление включается ключевое слово CONSTANT; константа должна быть инициализирована, после чего изменить ее значение невозможно;

  • если в программе объявляется переменная, принадлежащая к типу данных, имеющему ограничения, то это ограничение должно быть указано в объявлении, например VARCHAR2(20);

  • переменная todaysDate инициализируется с помощью функции SYSDATE; эта функция возвращает текущую дату и время, определяемые операционной системой компьютера, на котором хранится база данных;

  • в программе используется процедура DBMS_OUTPUT.PUT_LINE, осуществляющая вывод на стандартное устройство вывода;

  • при попытке выполнить блок не будет виден результат вызова процедуры DBMS_OUTPUT.PUT_LINE, если не установлена переменная среды SERVEROUTPUT напри­мер, с помощью команды SET SERVEROUTPUT ON;

  • для обозначения окончания программы на странице команд SQL используется строка, содержащая косую черту (/).

Для выполнения блока в программе SQL Developer необходимо нажать на кнопку Run Scriptили <F5>.

Рассмотрим присваивание значений переменным программы. Оператор присваивания в программе PL/SQL (:=) задает переменной значение, являющееся результатом вычисления выражения.

В примере используются кон­станты, операция сцепления символьных строк и операторы сложения (|| и + ), а также функции LAST_DAY и SYSDATE. Большинство функций SQL поддерживаются и в операторах языка PL/SQL.