tenho procedure q tem um cursor, quando eu pego o select dela e rodo, tras somente uma linha de código.
Quando vou ler o cursor, ou melhor, criei um pl/sql e coloquei o dbms para saida... coloquei ele dentro do LOOP, percebi q este era o erro, retorna mais de uma linha no cursor.
CURSOR cursor1 IS
SELECT DISTINCT
campo_1,
campo_2
FROM tabela_1
WHERE coluna_tabela = 'XXXX'
AND coluna_tabela = 1;
aqui eu coloquei um outro loop
FOR C1 IN cursor1 LOOP
dbms lista duas vezes, uma mostrando o codigo e outro nulo
dbms_output.put_line('x_mensagem_aux = ' || cursor_loop.coluna_1.campo_2);
END LOOP;
FOR cursor_loop IN cursor1 LOOP
IF cursor_loop.coluna_1 IS NULL THEN
BEGIN
SELECT DISTINCT erro acontece aqui
coluna_1
INTO variavel
FROM tabela_2
WHERE campo_2 = cursor_loop.coluna_1.campo_2;