- PL/SQL
-
PL/SQL PL/SQL (Procedural Language / Structured Query Language) — язык программирования, разработаный в корпорации Oracle. Является процедурным расширением языка Ада.
Содержание
Функциональность
PL/SQL даёт возможность использовать переменные, операторы, массивы, курсоры и исключения. Начиная с версии 8 посредством использования Oracle RDBMS стала доступна и объектно-ориентированная модель.
Стандартный SQL является специализированным декларативным языком программирования. На язык наложены определённые ограничения, такие как, например, отсутствие прямой поддержки циклов. PL/SQL же, как полный по Тьюрингу язык, позволяет разработчикам обрабатывать реляционную базу данных Oracle, используя (более привычный) императивный стиль программирования. Операторы SQL могут быть легко вызваны непосредственно из кода PL/SQL-процедуры, функции или триггера (иногда с некоторыми ограничениями).
Базовая структура кода
Программа на PL/SQL состоит из блоков (анонимных или поименованных). Блок может содержать вложенные блоки, называемые иногда подблоками. Общая форма PL/SQL-блока:
DECLARE -- Описания блока, переменные, типы, курсоры и т. п. (опционально) BEGIN -- Непосредственно код программы EXCEPTION -- Обработка исключений (опционально) END; /* Многострочные комментарии… */ -- Однострочный комментарий
Типы данных
Язык PL/SQL поддерживает следующие категории типов:
- встроенные типы данных, включая коллекции и записи;
- скалярные;
- составные;
- ссылочные;
- LOB-типы;
- объектные типы данных.
Операторы управления
- операторы выбора:
IF - THEN - END IF; IF - THEN - ELSE - END IF; IF - THEN - ELSIF - END IF; CASE - WHEN - THEN - END CASE;
- операторы цикла:
LOOP - END LOOP; WHILE - LOOP - END LOOP; FOR - LOOP - END LOOP; EXIT; EXIT WHEN;
- операторы безусловного перехода:
GOTO; NULL; «labels»
Пример программы
Программа, выводящая в консоли SQL*Plus строчку «Hello, World!» с использованием инициализированной переменной.
SET serveroutput ON DECLARE hello VARCHAR2(50) := 'Hello, world!'; BEGIN DBMS_OUTPUT.put_line(hello); END;
Ссылки
- Oracle Database Documentation(англ.)
- FAQ по PL/SQL(англ.)
- Лекция: Основы языка PL/SQL
- ПЕРВЫЕ ШАГИ - PL/SQL в Oracle
Основные языки программирования Используемые
в разработкеПрочие - встроенные типы данных, включая коллекции и записи;
Wikimedia Foundation. 2010.