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-блока:
<source lang="plsql">DECLARE -- Описания блока, переменные, типы, курсоры и т. п. (опционально) BEGIN -- Непосредственно код программы EXCEPTION -- Обработка исключений (опционально) END; /* Многострочные комментарии… */ -- Однострочный комментарий</source>
Типы данных
Язык PL/SQL поддерживает следующие категории типов:
- встроенные типы данных, включая коллекции и записи;
- скалярные;
- составные;
- ссылочные;
- LOB-типы;
- объектные типы данных.
Операторы управления
- операторы выбора:
<source lang="plsql"> IF - THEN - END IF; IF - THEN - ELSE - END IF; IF - THEN - ELSIF - END IF; CASE - WHEN - THEN - END CASE;</source>
- операторы цикла:
<source lang="plsql">LOOP - END LOOP; WHILE - LOOP - END LOOP; FOR - LOOP - END LOOP; EXIT; EXIT WHEN;</source>
- операторы безусловного перехода:
<source lang="plsql">GOTO; NULL; «labels»</source>
Пример программы
Программа, выводящая в консоли SQL*Plus строчку «Hello, World!» с использованием инициализированной переменной.
<source lang="plsql"> set serveroutput on
declare
hello varchar2(50) := 'Hello, world!';
begin
dbms_output.put_line(hello);
end; </source>
Ссылки
- 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 |
| Прочие | |
| Эзотерические | |
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
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....