Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Создание коллекции с типом данных rowtype одной таблицы

#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.

Комментариев нет:

Отправить комментарий