Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по субд Крупская.doc
Скачиваний:
54
Добавлен:
15.06.2014
Размер:
1.95 Mб
Скачать

45 Синтаксис объявления переменных, инициализация.

  1. Переменные и константы

declare

id integer;

standard constant integer := 500;

  1. Подтипы, определяемы пользователями

declare

varchar2_50 varchar2(50);

subtype description is Varchar2_50;

current_description description default 'Unknown';

В этом примере показано, что в программе нельзя прямо объявлять ограниченные подтипы. Вместо этого, для создания ограниченного подтипа необходимо вначале объявить ограниченную переменную (varchar2_50), а затем ограниченный подтип (description).

  1. Составные типы, определяемые пользователями

46 Скалярные типы pl/sql.

К допустимым скалярным типам относятся типы, аналогичные тем, что применяются для определения столбцов таблиц базы данных, плюс ряд дополнительных типов. Скалярные типы можно разделить на семь семейств: числовые типы, символьные типы, типы RAW, временные типы, типы ROWID, логические типы и типы Trusted.

Тип данных

Подтип

Описание

1

2

3

BINARY_INTEGER

NATURAL,

NATURALN,

POSITIVE,

POSITIVEN,

SIGNTYPE

Сохраняет целые числа со знаком. Использует библиотечную арифметику.

NATURALиNATURALNсохраняют только неотрицательные целые числа, причем последний запрещаетNULL– значения.

POSITIVEиPOSITIVENсохраняют только положительные целые числа, причем последний запрещаетNULL– значения.

SIGNTYPEсохраняет только -1, 0, 1

NUMBER

(точность, масштаб)

DEC,

DECIMAL,

DOUBLE PRECISION,

FLOAT(точность),

INTEGER,INT,

NUMERIC,

REAL,SMALLINT

Сохраняет числа с фиксированной и плавающей точкой. Использует библиотечную арифметику

PLS_INTEGER

Сохраняет целые числа со знаком. Для ускорения вычислений использует машинную арифметику.

CHAR(размер)

CHARACTER

(размер)

Сохраняет строки символов фиксированной длины. Максимальный размер 32767 байт, однако, для баз данных ограничен 2000 байт.

VARCHAR2(размер)

VARCHAR(размер), STRING

Сохраняет строки символов переменной длины. Максимальный размер 32767 байт, однако для баз данных ограничен 4000 байт.

DATE

Сохраняет временную информацию, включая дату, часы, минуты и секунды.

BOOLEAN

Сохраняет логические значения: TRUE,FALSEиNULL

CLOB

Сохраняет большие символьные объекты

BLOB

Сохраняет большие двоичные объекты

BFILE

Сохраняет указатели на объекты LOB, управляемые файловыми системами, внешними по отношению к СУБД.

  1. Ссылочные типы PL/SQL.

После того как объявлена переменная PL/SQL скалярного или составного типа, для ее хранения выделяется определенная область памяти. Переменная дает выделенной области имя и впоследствии используется в программе для ссылки на нее. Однако нельзя отменить выделение памяти и одновременно сохранить возможность работы с переменной — память не освобождается до тех пор, пока переменная находится в области своего действия (см. ниже). Для ссылочных типов такого ограничения нет.

Ссылочный тип PL/SQL — это то же самое, что и указатель в С. Переменная, объявленная как ссылочная, во время выполнения программы может указывать на различные области памяти.

В Oracle 7 был доступен только один ссылочный тип — REF CURSOR, называемый также курсорной переменной (см. главу 4). В OracleS существует объектный тип REF, который может указывать на некоторый объект.