Я использую Toad. У меня есть заявление таблицы в пакете следующим образом:Oracle PL/SQL - Показать результаты объявленной таблицы
TYPE MyRecordType IS RECORD
(ID MyTable.ID%TYPE
,FIELD1 MyTable.FIELD1%TYPE
,FIELD2 MyTable.FIELD2%TYPE
,FIELD3 MyTable.FIELD3%TYPE
,ANOTHERFIELD VARCHAR2(80)
);
TYPE MyTableType IS TABLE OF MyRecordType INDEX BY BINARY_INTEGER;
Существует процедура (позволяет сказать MyProcedure
), который использует объект этого типа таблицы в качестве ввода/вывода. Я хочу запустить процедуру и увидеть результаты (как заполняется таблица). Так что я имею в виду, я буду выбирать результаты из таблицы:
declare
IO_table MyPackage.MyTableType;
begin
MyPackage.MyProcedure (IO_table
,parameter1
,parameter2
,parameter3);
select * from IO_table;
end;
Я получаю сообщение: Table or view does not exist
(для IO_table). Если я удаляю строку выбора, процедура выполняется успешно, но я не вижу ее результатов. Как я могу увидеть содержимое IO_table после вызова процедуры?
Я получаю: неправильное число или типы аргументов при вызове «NEXT», что ставит меня как нечетное. Что это может означать? –
Вы просто поместите индекс снова как параметр для следующего: l_index: = IO_table.next (l_index); Спасибо, все отлично. –
@StefanosKargas: Спасибо, что указали, что вне редактирования кода. – vishad