|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ОбъявленияВ блоке программ PL/SQL можно объявлять конструкции различных типов. Рассмотрим, как объявляются переменные и константы; подтипы, определяемые пользователями; курсоры. Переменные и именованные константы могут иметь любой тип данных ORACLE или ANSI/ISO. В следующем примере объявляются переменная и именованная константа при помощи ANSI – типа integer:
declare id integer; standard constant integer:=500;
Когда в программе объявляется переменная, ей может быть присвоено начальное значение, либо значение по умолчанию:
declare id integer:=0; standard integer default 500;
Подтипы, определяемые пользователями. Пример объявления пользовательских подтипов и соответствующих переменных удобно пояснить на примере:
declare varchar2_50 varchar2 (50); subtype description is varchar2_50; current_description description default ‘unknown’
Тип varchar2 () – тип данных ORACLE, предназначенный для задания строковых переменных переменной длины.
Атрибуты В программах PL/SQL можно использовать атрибуты %type и %rowtype. Данные атрибуты используются для объявления переменных, констант и даже определяемых пользователями подтипов и составных типов, соответствующих свойствам столбцов и таблиц баз данных. Использование атрибутов не только упрощает объявление программных конструкций, но и делает программы более удобными для модификации баз данных. К примеру, с помощью атрибута %type можно объявлять тип данных, принадлежащий другой программной конструкции или столбцу таблицы базы данных.
declare id parts.id %type; unit_price parts.price %type; В приведенном выше фрагменте предполагается, что parts является таблицей базы данных, а id и price её атрибутами. С помощью атрибута %rowtype можно объявлять переменные, имеющие тип записи, и другие конструкции:
declare type parts_table is table of parts %rowtype; current_part parts_table;
Здесь объявляется “агрегированный” тип parts_table и переменная current_part этого типа.
Курсоры. В литературе [2] курсоры иногда называют рабочей областью SQL-оператора. Однако точнее его можно определить как указатель на текущую строку результирующего множества оператора. Операторы select, возвращающие одну строку, обрабатываются СУБД автоматически, т. е. она сама создаёт курсор и считывает данные посредством него из результирующего вектора. Для обработки строк запроса, возвращающего несколько строк, приложение должно объявлять курсор явно, указав его имя, а затем ссылаться на него при обработке строк по очереди. При обработке строк следует иметь в виду, что курсор устанавливается перед первой строкой результирующего множества, сформированного СУБД по выполнении запроса и сохраненного на сервере БД. Следующий пример демонстрирует процедуру объявления курсоров в блоке объявлений программ PL/SQL:
declare cursor part_cur is select * from parts; cursor cust_cur (state_id char) is select id, l_name, f_name, phone from customers where state=state_id;
Здесь part_cur – это простой курсор, соответствующий всем строкам и столбцам таблицы parts, cust_cur – пример параметризованного курсора с параметром state_id.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |