Учебное пособие Для студентов университетов Специальностей «Информатика», «Прикладная математика»


сором . Существуют курсоры двух типов: явные и неявные.  Явный курсор



Pdf көрінісі
бет141/177
Дата15.02.2022
өлшемі2,58 Mb.
#25567
түріУчебное пособие
1   ...   137   138   139   140   141   142   143   144   ...   177
сором
. Существуют курсоры двух типов: явные и неявные. 
Явный курсор
 должен быть явно объявлен пользователем. Для его 
объявления используется следующий синтаксис: 
CURSOR имя_курсора [(список_параметров)] IS SELECT…; 
Оператор SELECT определяет  набор извлекаемых  строк.  Список  па-
раметров может отсутствовать. Если же параметры используются, то они 
описываются следующим образом: 
Имя_параметра тип [{:=
⎪ DEFAULT} значение]; 
Если указано значение параметра, то при открытии курсора этот па-
раметр можно не указывать. 
Управление явным курсором осуществляется в двух вариантах: явно 
и неявно. 
При явной форме управления курсором необходимо явно открыть кур-
сор, явно выбрать строки из активного набора и явно закрыть курсор.  
Для того чтобы явно открыть курсор, используется следующая конст-
рукция: 
OPEN  имя_курсора  [(список_параметров)]; 
В  момент  открытия  курсора  система  выполняет  указанный  оператор 
SELECT с учетом передаваемых значений параметров, т. е. выбирает со-
ответствующий набор строк, и указатель текущей записи устанавливает-
ся  в  этом  наборе  на  первую  строку.  Однако  строки  программе  не  пере-
даются.  Чтобы  получить  строки  одну  за  другой,  используется  оператор 
FETCH. Выборка строк допускается только в прямом направлении; про-
движение по набору строк в обратном направлении невозможно. Синтак-
сис оператора FETCH: 
FETCH  имя_курсора  INTO  {имя_записи 
⎪ список_столбцов}; 
 
157


 
При  выполнении  оператора FETCH выбирается  очередная  строка,  а 
указатель текущей записи передвигается на следующую строку в наборе 
строк. Если были выбраны все строки, то при попытке нового считыва-
ния ошибка не возникает, но и строка не выбирается. 
Для  того  чтобы  закрыть  курсор,  необходимо  выполнить  следующий 
оператор: 
CLOSE имя_курсора; 
После закрытия курсора все попытки считывания информации приве-
дут к ошибке. Для организации явного управления можно использовать 
курсорные  атрибуты,  которые  представляют  собой  функции,  возвра-
щающие  определенное  значение  в  зависимости  от  выполненных  дейст-
вий. К ним относятся: 
1)  %ISOPEN – возвращающий значение TRUE, если курсор открыт, и 
FALSE, если курсор закрыт; 
2)  %FOUND – возвращающий значение TRUE, если строка найдена, и 
FALSE, если строка не найдена; 
3)  %NOTFOUND – возвращающий  значение TRUE, если  строка  не 
найдена, и FALSE, если строка найдена; 
4)  %ROWCOUNT – возвращающий  числовое  значение,  показываю-
щее количество выбранных строк в курсоре. 
При  неявной  форме  управления  курсором  используется  специальная 
форма записи оператора цикл FOR – циклы FOR с курсоромОткрытие, 
выборка  и  закрытие  курсора  в  этом  случае  происходит  автоматически. 
Возвращаемая  переменная-строка  определяется  неявно  и  на  нее  нельзя 
ссылаться извне области видимости цикла. При неявной форме управле-
ния курсор может также иметь параметры. 


Достарыңызбен бөлісу:
1   ...   137   138   139   140   141   142   143   144   ...   177




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет