fcorrea 0 Denunciar post Postado Março 30, 2006 Pessoal, Tenho que carregar um cursor para realizar um Loop em um for. Utilizo o codigo: FOR CSR IN (SELECT * FROM TBL_TESTE) LOOP END LOOP; O problema é que agora a minha instrução "SELECT * FROM TBL_TESTE" não é mais fixa, entao construo a mesma concatenando string e preciso de executar a mesma conforme acima, mas o oracle nao esta aceitando a execução de string no FOR. Meu code esta assim no momento (considerem a variavel ja declarada): V_SQL := 'SELECT * FROM " || P_NOME_TABELA; --P_NOME_TABELA é parametro passado para a proc. FOR CSR IN (V_SQL) LOOP END LOOP; E estou "garrado" neste pé. Alguém tem uma sugestão?Atenciosamente,FCORREA Compartilhar este post Link para o post Compartilhar em outros sites
fcorrea 0 Denunciar post Postado Março 30, 2006 Resolvido ja pessoal. Para quem tiver duvidas, como eu tive, segue a resolucao: V_STRSQLLOOP = 'SELECT * FROM ' || TBL_TESTE; OPEN RESULT FOR V_STRSQLOOP; LOOP FETCH RESULT INTO variaveis_q_recebem_os_campos_do_select; EXIT WHEN RESULT%NOTFOUND; -Codigos programador END LOOP; O FETCH atribui os valores da query para as variaveis a frente do comando. O EXIT sai do loop quando for o ultimo registroObrigado pessoal! Compartilhar este post Link para o post Compartilhar em outros sites