Boa tarde pessoal mais uma vez to buscando a ajuda do pessoal, qual a melhor forma de fazer um for select no oracle, bem vou tentar ser mais claro…
Por exemplo sei fazer de três formas, no entanto não sei e tb não achei nd na net sobre qual é o melhor método ou o mais eficiente.
1° Forma
CREATE OR REPLACE PROCEDURE SP_PROC_TESTE
IS
CURSOR C_TESTE IS SELECT A.NOME FROM CLIENTE A;
NOME_CLI VARCHAR2(255);
BEGIN
OPEN C_TESTE;
LOOP
FETCH C_TESTE INTO NOME_CLI;
EXIT WHEN C_TESTE%NOTFOUND;
END LOOP;
CLOSE C_TESTE;
END SP_PROC_TESTE;
2° Forma
CREATE OR REPLACE PROCEDURE SP_PROC_TESTE
IS
CURSOR C_TESTE IS SELECT A.NOME FROM CLIENTE A;
NOME_CLI VARCHAR2(255);
BEGIN
FOR RESULTADO IN C_TESTE
LOOP
--COMANDOS
END LOOP;
END SP_PROC_TESTE;
3° Forma
CREATE OR REPLACE PROCEDURE SP_PROC_TESTE
IS
NOME_CLI VARCHAR2(255);
BEGIN
FOR RESULTADO IN (SELECT A.NOME FROM CLIENTE A)
LOOP
--COMANDOS
END LOOP;
END SP_PROC_TESTE;
Entao galera se alguem puder me falar qual a melhor forma eu agradeço…
Vlw