dbms_output.put_line не работает с курсором должным образом - PullRequest
0 голосов
/ 12 февраля 2019

Я пытался напечатать числа от 1 до 100 с помощью курсора с помощью команды dbms_output, но появляется ошибка: «ORA-06550: строка 6, столбец 1: PLS-00306: неверное число или типы аргументовв вызове 'PUT_LINE' "

Затем я попытался сделать то же самое, используя таблицу.Для этого я использовал следующий запрос:

вставить в numb выберите rownum r из двойного соединения с помощью rownum <= 100; </p>

Но ошибка все еще сохраняется.

Этокод, который я выполняю для двойной таблицы:

Объявить

cursor c_num is select rownum n from dual connect by rownum <=100;
begin 
    for i in c_num
    loop
        dbms_output.put_line('Number is '||i);

    end loop;
end;

Для пользовательской таблицы онемение:

Объявить

cursor c_num is select num from numb;
begin 
    for i in c_num
    loop
        dbms_output.put_line('Number is '||i);    
    end loop;
end;

Пожалуйста, дайте мне знатьчто не так с этим кодом.

1 Ответ

0 голосов
/ 12 февраля 2019

i - это тип записи.Вы не можете объединить строку («Number is») с типом записи.Попробуйте вместо этого:

dbms_output.put_line('Number is '||to_char(i.num)); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...