Теория для лабораторной работы №5 - "PL/SQL – курсоры и хранимые процедуры", страница 4

Можно ассоциировать фактические параметры в операторе OPEN и формальные параметры в объявлении курсора в позиционной или именной системе. Типы данных каждого фактического и соответствующего формального параметры должны бать совместимы.

Выборка с помощью курсора

Оператор FETCH получает строки активного множества по одной за раз. После каждой выборки, курсор продвигается к следующей строке в активном множестве.

 

Синтаксис:

 

cursor_name

Имя не открытого явного курсора.

cursor_variable_name

 

Имя переменной курсора объявленной в окружении PL/SQL и передаваемая PL/SQL как связанная переменная.  Тип данных главной переменной курсора  совместим с возвращаемым типом любой переменной PL/SQL курсора. В операторах SQL главные переменные должны иметь префикс двоеточие.

INTO variable_name

Эта клауза перечисляет скалярные переменные, в которые выбираются значения столбцов. Для каждого столбца, возвращаемого запросом, соответствующим курсору или переменной курсора, должна быть соответствующая переменная в списке variable_ name. Также, их типы должны быть совместимы.

INTO record_name

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

 

Пример оператора FETCH:  

 

FETCH c1 INTO my_empno, my_ename, my_deptno;

 

Для каждого столбца, возвращаемого запросом, соответствующим курсору, должна быть соответствующая переменная в списке INTO. Также, их типы данных должны быть совместимы. Обычно, оператор FETCH используется так: