Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выборка PL.SQL.docx
Скачиваний:
4
Добавлен:
20.07.2019
Размер:
316.25 Кб
Скачать
    1. Семейство типов без обработки

Синтаксис описания переменной RAW (LONG RAW) таков:

RAW(L);

где L — длина переменной в байтах. Тип RAW (LONG RAW) используется для хранения двоичных данных фиксиро­ванной длины. Максимальная длина переменной RAW LONG RAW равна ( ) байтам. Максимальная же длина поля RAW базы данных составляет 255 байтов, поэ­тому, если размер данных превышает 255 байтов, они не могут быть введены в столбец RAW базы дан­ных. Однако они могут быть введены в столбец базы данных, имеющий тип LONG RAW, максимальная длина которого составляет 2 ГБ. Аналогично, если длина данных в поле LONG RAW превышает байтов, выбрать их в переменную PL/SQL RAW (LONG RAW) нельзя.

    1. Семейство типов даты.

В этом семействе имеется только один тип — DATE, который абсолютно аналогичен типу DATE, приме­няемому в базах данных. Тип DATE используется для храпения информации как о датах, так и о време­ни, в том числе о веках, голах, месяцах, днях, часах, минутах к секундах. Размер переменной DATE составляет 7 байтов, по одному байту на каждый компонент (от века до секунды).

Значения переменным DATE обычно присваиваются посредством встроенной функции TO_DATE. Это позволяет легко преобразовывать символьные переменные в переменные DATE. Подобно этому при помощи функции TO_CHAR можно преобразовывать переменные DATE в символьные переменные.

    1. Семейство типов rowid

В этом семействе только один тип — ROWID, который абсолютно аналогичен типу, используемому для работы с псевдостолбцами ROWID базы данных. Он дает возможность сохранять идентификаторы строк (rowids). которые можно рассматривать в качестве ключей, однозначно определяющих каждую строку базы данных. Идентификаторы строк хранятся внутри базы данных в виде двоичных значении фиксированной длины, размер которых зависит от применяемой операционной системы. Для работы с идентификаторами строк их можно преобразовать в последовательности символов при помощи встро­енной функции ROWIDTOCHAR. Результатом работы этой функции является 18-символьпая последова­тельность, имеющая формат:

ВВВВВВВВ.RRRR.FFFF

где ВВВВВВВВ определяет блок в файле базы данных. RRRR — строку в блоке, а FFFF - номер файла. Каждый элемент идентификатора строки представлен в виде шестнадцатеричного числа. Например, идентификатор строки

0000001E.00FF.0001

указывает на 30-й блок, 255-ую строку в этом блоке, который расположен в файле 1. Идентификато­ры строк обычно не создаются программами PL/SQL; они выбираются в псевдостолбце ROWID табли­цы. Затем выбранное значение может быть использовано в задаваемом условии оператора UPDATE или DELETE.

    1. Семейство логических типов

Единственным типом данных этого семейства является тип BOOLEAN. Логические переменные исполь­зуются в управляющих структурах PL/SQL, таких как операторы IF-THEN-ELSE и LOOP. Значение типа BOOLEAN может быть только TRUE, FALSE и NULL. (Но не 0 или 1 как в C\C++)

    1. Семейство типов Trusted

Единственным типом данных этого семейства является тип MLSLABEL, используемый в Trusted Oracle для хранения двоичных меток переменной длины. В стандартной системе Oracle в переменных и столб­цах, имеющих тип MISLABEL, могут содержаться только NULL-значения. Внутренняя длина перемен­ных типа MLSLABEL составляет от 2 до 5 байтов, однако их можно автоматически преобразовывать в символьные переменные, а также выполнять обратное преобразование. Максимальная длина символьно­го представления переменной MLSLABEL составляет 255 байтов.