Oracle: Массовый сбор в «таблицу чисел» дает «ошибку числа или значения» - PullRequest
1 голос
/ 21 января 2010

Я сталкивался с примером этого в сети, который также не работает на моей БД (10g), но вот моя версия.

...
TYPE prog_rec_type IS TABLE OF NUMBER INDEX BY PLS_INTEGER;

prog_rec_list prog_rec_type;

begin

...

EXECUTE IMMEDIATE 'SELECT PROGRESS_RECID FROM ' || v_table_name || v_where BULK COLLECT INTO prog_rec_list;


--ERROR FOUND IN THIS SECTION
FOR i IN prog_rec_list.FIRST..prog_rec_list.LAST
LOOP


--DBMS_OUTPUT.PUT_LINE('FOR LOOP: ' || i);

null;

END LOOP;

...
END;

Очень признателен за помощь.

Ответы [ 2 ]

3 голосов
/ 21 января 2010

Набор результатов пуст. Поэтому вам нужно убедиться, что вы получили некоторые результаты из этого SELECT PROGRESS_RECID FROM '|| v_table_name || v_where

1 голос
/ 21 января 2010

Вы можете попробовать это,

FOR i IN 1 .. prog_rec_list.COUNT LOOP
..
END LOOP
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...