Я пытаюсь создать файл спула через анонимный блок ниже, чтобы узнать мнения о конкретной таблице.Ошибка с типом данных LONG в курсоре
declare
cursor c1 is select view_name,text from users_view;
rt c1%rowtype;
begin
open c1;
loop
fetch c1 into rt;
exit when c1%notfound;
dbms_output.put_line(rt.view_name || '|' || rt.text);
end loop;
end;
Когда я бегу, я получаю сообщение об ошибке, как «числовыми или значение ошибки», однако если удалить столбец текста (LONG) из определения курсора блок проходит без каких-либо ошибок.
Я понимаю, что мы не можем использовать тип данных LONG в предложении where, но не может ли он быть извлечен в курсоре? Если да, какова может быть альтернатива в этом случае?
Это PL/SQL правильно? – Josien
Длинный может быть выбран в курсоре, но получит эту ошибку, если она больше 32 тыс. Символов. Есть ли причина, по которой вы хотите сделать это внутри анонимного блока, а не как простой выбор? –
«Рассматривать точки зрения для конкретной таблицы» означает, что вы планируете анализировать текст всего представления, чтобы найти ссылки внутри них в определенной таблице? –