Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Блок в PL/SQL.

Именованый и неименованый (анонимный – при отсутствии заголовка) блок.
Раздел выполнения может наряду с программным кодом содержать произвольное число других (вложенных) блоков PL/SQL.
Пример блока PL/SQL (анонимного) в SQL*Plus:
SET SERVEROUTPUT ON
DECLARE
var VARCHAR2(20);
var1 var%TYPE;
BEGIN
/*
комментарий
*/ -- строчный комментарий
NULL; -- пустой оператор, ничего не делать
var1:= 'Hello world'; -- оператор присвоенния
DBMS_OUTPUT.PUT_LINE (var1); -- обращение к процедуре
BEGIN -- вложеный блок – тоже оператор
DBMS_OUTPUT.PUT_LINE ('Hello once more');
END; -- конец вложеного блока
END;
/
Основные типы и структуры данных
Набор типов переменных в PL/SQL отличен от набора типов в Oracle SQL. Начиная с версии 9 это чистое расширение, так как с этой версии СУБД PL/SQL автоматически поддерживает все типы Oracle SQL за счет использования общего одного модуля обработки SQL-запросов (до этого PL/SQL использовал собственную SQL-машину).
Все переменные в PL/SQL можно отнести к одному из следующих видов:
| Вид данных | Описание |
| Скалярный | Переменные, представляющие собой ровно одно значение (числовое, дату и т.д.) |
| Составной | Переменные, представляющие именованную группу значений (запись, массив) |
| Ссылка | Ссылка на объект или курсор |
| LOB | Указание на массив большого размера |
Скалярные переменные
Числовые типы
Делятся на типы с десятичным хранением (NUMBER) и с двоичным (целые числа типов BINARY_INTEGER и PLS_INTEGER).
Подтипы типа NUMBER:
| Тип PL/ SQL | Совместимость | Соответствующий тип в Oracle |
| DEC(точность, масштаб) | ANSI | NUMBER(точность, масштаб) |
| DECIMAL(точность, масштаб) | IBM | NUMBER(точность, масштаб) |
| DOUBLE PRECISION | ANSI | NUMBER |
| FLOAT(двоичная точность) | ANSI, IBM | NUMBER |
| INT | ANSI | NUMBER(38) |
| INTEGER | ANSI, IBM | NUMBER(38) |
| NUMERIC(точность, масштаб) | ANSI | NUMBER(точность, масштаб) |
| REAL | ANSI | NUMBER |
| SMALLINT | ANSI, IBM | NUMBER(38) |
Подтипы BINARY_INTEGER: NATURAL, NATURALN (вариант с NOT NULL), POSITIVE, POSITIVEN (вариант с NOT NULL), SIGNTYPE (-1, 0, 1).
Тип PLS_INTEGER по внешнему проявлению не отличается от BINARY_INTEGER, но имеет формат хранения компьютера, а не собственный двоичный формат фирмы Oracle, что делает его более производительным при больших вычислениях. Однако с версии 10 внутренний формат BINARY_INTEGER приведен к формату PLS_INTEGER и разницы между этими типами нет совсем.
Строковые типы
| Тип | Описание |
| CHAR | Строки фиксированной длины до 32767 байт (то есть больше, чем предел в 2000 байт в Oracle 7 и 4000 байт в Oracle 8 для хранимых в БД строк) |
| VARCHAR2 | Строки переменной длины до 32767 байт (то есть больше, чем предел в 2000 байт в Oracle 7 и 4000 байт в Oracle 8 для хранимых в БД строк) |
| NCHAR NVARCHAR2 | NLS-символьные типы. Позволяют обрабатывать символьные данные в мультибайтовой кодировке Unicode. |
| LONG | Строки переменной длины до 32767 байт. Тип сохранен для обратной совместимости; в частности встречается в некоторых справочных таблицах |
| RAW | Байтовая строка переменной длины до 32767 байт (в версии 7 было 2000 байт). Не перекодируется при передаче по Oracle Net |
| LONG RAW | Байтовая строка переменной длины до 32767 байт. Тип сохранен для обратной совместимости версий Oracle |
| ROWID | Двоичный массив фиксированной длины для хранения физического адреса данных Oracle в шестнадцатеричном формате BBBBBBBB.RRRR.FFFF (Oracle 7) и в формате OOOOOOFFFBBBBBBRRR (Oracle 8) |
| UROWID (Oracle 8.1) | «Универсальный» формат для ROWID: шестнадцатеричная строка переменной длины (до 4000 байт) с логическим значением ROWID. Используется для хранения адресов строк в индексно организованных (index organized) таблицах или в таблицах DB2 (черех шлюз) |
Моменты времени и интервалы
То же, что в Oracle SQL плюс несколько специальных подтипов.
Следующие подтипы в PL/SQL используются для передачи параметров с максимально возможной точностью («без ограничения точности»):
| Подтип... | ... соответствует типу |
| TIMESTAMP_UNCONSTRAINED | TIMESTAMP (9) |
| TIMESTAMP_TZ_UNCONSTRAINED | TIMESTAMP (9) WITH TIME ZONE |
| YMINTERVAL_UNCONSTRAINED | INTERVAL YEAR (9) TO MONTH |
| DSINTERVAL_UNCONSTRAINED | INTERVAL DAY (9) TO SECOND (9) |
| TIME_UNCONSTRAINED | TIME (9)(*) |
| TIME_TZ_UNCONSTRAINED | TIME (9) WITH TIME ZONE(*) |
(*) Как самостоятельный тип в Oracle не реализован, фактически недореализован, но подтип возможен для описания переменных и параметров в PL/SQL.
Булевы переменные
Фактически – трехзначные переменные с допустимыми значениями TRUE, FALSE и NULL. Правила сравнения и операции – те же, что в Oracle SQL.
LOB-типы
В отличие от скалярных типов, LOB-типы позволяют хранить не сами данные, а «локаторы» (указатели) на данные, размещенные вне, либо внутри БД.
| Тип | Описание |
| BFILE | Указатель на файл с данными в операционной системе. Средствами Oracle данные можно только читать. |
| BLOB | Указатель на большой неструктурированный массив в БД |
| CLOB | Указатель на большой символьный массив в БД |
| NCLOB | Указатель на большой NLS-символьный массив в БД |
|
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!