Olá pessoal do GUJ!
Estou com uma dúvida sobre Oracle, que é a seguinte:
Tenho uma function que executa um SELECT com um Sub-SELECT:
SELECT CAMPO_CLOB INTO CLOB_VAR FROM (SELECT CAMPO_CLOB, rownum as num_linha FROM
TABELA WHERE NUM_PEDIDO=pedido AND NUM_item=item AND IDC_FUNCAO=funcao AND
IDC_LADO=lado) WHERE num_linha=var_int;
Infelizmente essa query está dentro de um LOOP FOR, logo queria saber se seria possível armazenar o Sub-SELECT em um cursor(ou algo do tipo) e depois executar o SELECT externo nesse cursor.
Afinal esse SUB-SELECT pode retornar umas 50.000 linhas ou mais, e acho que isso dentro de um FOR não é nada legal.
A cada LOOP eu preciso pegar linha a linha, por isso aquele num_linha=var_int.
Fiz algumas tentativas, mas acho que estou errando por sintaxe, ou será que não é possível fazer um select sobre um cursor?
E se for impossível será que existe outra alternativa?
Bom, resumindo são 2(duas) perguntas:
- É possível fazer um SELECT CAMPO INTO VAR_CLOB FROM CURSOR WHERE NUM_LINHA=VAR_INT;?
- Se não for possível, há outra forma de implementar isso?
Aguardo repostas…
E agradeço por sua paciência!