#oracle #коллекции #plsql
Каким образом можно создать коллекцию состоящию из rowtype, для использования ее в дальнейшем? С возможностью удаления и добавления ее элементов, причём все элементы типа rowtype будут из одной таблицы. Что-то типа: my_col(1) := table%rowtype С PL/SQL знаком мало и не могу найти подходящий пример.
Ответы
Ответ 1
Коллекция определяется, и затем объявляется переменная соответствующая этой коллекции, в декларативной части блока, пакета или функции ключевым словом type: create table table1 as select * from dual; declare type myCollType is table of table1%rowtype index by binary_integer; myRow table1%rowtype; myColl myCollType; begin select * into myRow from table1 where rownum = 1 ; myColl(1) := myRow; dbms_output.put_line ('myColl(1).dummy='||myColl(1).dummy); end; / myColl(1).dummy=X Различные типы коллеккций инициализируются и заполнятся по разному, подробнее о выборе коллекции в теме Какой тип коллекции выбрать. Подробнее про объявление, инициализацую и использование PL/SQL коллекций в офф. док. Collection Variable Declaration.
Комментариев нет:
Отправить комментарий