PL/SQL

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
PL/SQL

PL/SQL (Procedural Language / Structured Query Language) — язык программирования, процедурное расширение языка SQL корпорацией 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;

Ссылки

ca:PL/SQL

cs:PL/SQL de:PL/SQL en:PL/SQL es:PL/SQL fr:PL/SQL he:PL/SQL hu:PL/SQL it:PL/SQL ja:PL/SQL ko:PL/SQL nl:PL/SQL pl:PL/SQL pt:PL/SQL ro:PL/SQL sk:PL/SQL sv:PL/SQL tg:PL/SQL th:PL/SQL tr:PL/SQL uk:PL/SQL zh:PL-SQL

Источник — «http://www.sbup.com/wiki/PL/SQL»
Личные инструменты

Served in 0.400 secs.