PL/SQL
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
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;
[править] Ссылки
- Oracle Database Documentation(англ.)
- FAQ по PL/SQL(англ.)
- Лекция: Основы языка PL/SQL
- ПЕРВЫЕ ШАГИ - PL/SQL в Oracle
Основные языки программирования (список • сравнение • IDE • история • хронология) |
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • F# • Forth • Фортран • Gambas • Groovy • Haskell • Icon • Java • JavaScript • Limbo • Lua • MATLAB • Object Pascal • Objective-C • OCaml • Oz • Оберон • Parser • Паскаль • Perl • PHP • PowerBASIC • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
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