Основы PL/SQL
В PL/SQL работает соглашение, что все символы приводятся к верхнему регистру.
Типы специальных символов PL/SQL:
- Арифметические операторы:
- + Сложение и унарный плюс
- - Вычитание и унарный минус
- * Умножение
- / Деление
- ** Возведение в степень
- Операторы отношения (используются в логических выражениях):
- = Равенство
- < Меньше
- > Больше
- <> Не равно
- != Не равно (альтернатива)
- ~= Не равно (альтернатива)
- ^= Не равно (альтернатива)
- <= Меньше или равно
- >= Больше или равно
- Выражение и списки (используются в операторах, объявлениях типов данных, объявлениях списков параметров, ссылках на переменные и таблицы):
- := Присвоение
- ( Начало списка или подвыражения
- ) Конец списка или подвыражения
- , Отдельные элементы списка (как в списке параметров)
- .. Оператор диапазона используется в операторах FOR-IN
- || Конкатенация строк
- => Ассоциация (используется в списке параметров)
- ; Конец выражения
- % Атрибут курсора или типа объекта
- . Спецификация объекта
- @ Индикатор удаленной базы данных
- ' Начало/конец строки символов
- : Индикатор внешней переменной
- & Индикатор связанной переменной
- Комментарии и метки
- -- Комментарий в одной строке
- /* Начало многострочного комментария
- */ Конец многострочного комментария
- >> Начало метки
- << Конец метки
Блоки PL/SQL, могут быть "именованными" и "не именованными". Блок PL/SQL является фундаментальной программной конструкцией.
Программирование модулями позволяет разрабатывать легко читаемый код.
Неименованный блок PL/SQL, имеет три раздела - Declaration (объявления), Body (тело) и, как правило, Exception (исключения).
Стандартная конструкция неименованного блока:
DECLARE -- объявления BEGIN -- выполняемый код EXCEPTION -- обработка исключений END; / -- символ завершения для запуска блока на компиляцию
Итак, запускаем блокнот и SQL*Plus, написать и запустить "Hello World!":
SET SERVEROUTPUT ON BEGIN DBMS_OUTPUT.enable; DBMS_OUTPUT.put_line('Hello World!!!'); END; /
Получаем после компиляции:
SQL> SET SERVEROUTPUT ON SQL> BEGIN 2 DBMS_OUTPUT.enable; 3 DBMS_OUTPUT.put_line('Hello World!!!'); 4 END; 5 / Hello World!!! PL/SQL procedure successfully completed
Cтрока SET SERVEROUTPUT ON выводит сообщения на "экран" или консоль, эту строку нужно вводить один раз на сеанс, при последующих запусках, необязательно.
То есть выводит пакет DBMS_OUTPUT, и первая строка заставляет сервер показывать, что выводит пакет DBMS_OUTPUT с помощью метода put_line(). BEGIN END - это программный блок. Пункт DECLARE отсутствует, "/" - символ запускающий код на исполнение. Строка "PL/SQL procedure successfully completed", блок выполнился успешно.