oracle - множественная вставка в коллекцию таблиц типов
Я создал следующий объект в Oracle 11g.
CREATE OR REPLACE TYPE myObject as object(
fieldOne number,
fieldTwo number
);
И создал новый тип таблицы myObject;
CREATE OR REPLACE TYPE myTable IS TABLE OF myObject;
Теперь я хотел бы создать новый экземпляр myTable и добавить несколько жестко закодированных строк в myTable
в командной строке SQL Plus, затем передайте объект myProcedure
в качестве параметра.
Я пробовал следующее;
declare newTable myTable;
begin
select myObject(50,5) bulk collect into newTable from dual;
select myObject(40,7) bulk collect into newTable from dual;
myProcedure(newTable);
commit;
end;
Какой вид работ, хотя второй select into
Заявление перезаписывает первое.
Мой вопрос Как я могу добавить несколько строк в newTable?
Спасибо заранее:)
1 ответ
Решение
declare
newTable myTable;
begin
newTable := myTable();
newTable.extend(2); -- The desired size of the collection
-- Oracle collections begin at index 1, not 0
newTable(1) := myObject(50, 5);
newTable(2) := myObject(40, 7);
myProcedure(newTable);
end;