русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

РАБОТА С КУРСОРАМИ


Дата добавления: 2013-12-24; просмотров: 985; Нарушение авторских прав


Для работы со строками, извлекаемыми из результирующего множества “многострочного” запроса посредством курсора необходимо выполнить три операции: открыть курсор (OPEN), считать информацию в ранее объявленные переменные (FETCH) и закрыть курсор (CLOSE). Например:

 

declare

cursor parts_cur is

select * from parts;

current_part parts %rowtype;

begin

open parts_cur;

loop

fetch parts_cur into current_part;

…другие операторы…

end loop;

close part_cur;

Когда в программе открывается курсор, имеющий курсорные параметры, можно указывать значение для каждого такого параметра. Например, в следующей программе определяется результирующее множество курсора, включающее все записи о клиентах, проживающих в России.

declare

cursor customers_cursor (state_id char) is

select * from sales.customers

where state = state_id;

begin

open parts_cursor (‘RU’);

 

В программе PL/SQL можно использовать несколько уникальных курсорных атрибутов – %ISOPEN, %FOUND, %NOTFOUND и %ROWCOUNT – для принятия решения во время обработки курсоров. В таблице 4 приведен список доступных в PL/SQL курсорных атрибутов с описанием.

 

Таблица 4 Курсорные атрибуты

Курсорный атрибут Описание
%ISOPEN Возвращает TRUE, если курсор открыт.
%ROWCOUNT Возвращает число строк, содержащихся в курсоре после открытия курсора.
%NOTFOUND Принимает значение TRUE, после того как из курсора вычитана последняя строка.
%FOUND Принимает значение FALSE, после того как из курсора вычитана последняя строка.

 

В нижеследующем примере, применяется курсорный атрибут %FOUND для определения момента завершения цикла.

 

while parts_cursor %found

loop

fetch parts_cursor into current_part;

... другие операторы ...



end loop;

 

При выборе определенных строк из результирующего множества курсора важно понятие текущей строки. Программы PL/SQL в операторах UPDATE и DELETE, которые должны обрабатывать текущую строку курсора, могут применять специальный синтаксис CURRENT OF.

Для упрощения необходимых при установке и обработке курсоров можно пользоваться курсорными циклами FOR:

 

declare

cursor parts_cur is

select * from parts;

begin

for current_part in parts_cur

loop

…другие операторы…

end loop;

 

В курсорном цикле FOR автоматически объявляется переменная или запись с помощью, которой можно считывать записи, открывать курсор, выбирать из него строки и закрывать курсор, когда из него выбирается последняя строка.

 



<== предыдущая лекция | следующая лекция ==>
СТАНДАРТНЫЙ DML | Обработка исключительных ситуаций


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.972 сек.