Sou iniciante em PL/SQL, por isso estou atormentando todos ai....
Bom gostaria de saber se é possivel eu percorrer 1 cursor mais de uma vez.
Cursor
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Seg, 31 Mai 2010 8:54 am
- Localização: Londrina-Pr
Analista/Programador
Luís Gustavo Verri Zacheu
Luís Gustavo Verri Zacheu
- fsitja
- Rank: OraSauro
- Mensagens: 611
- Registrado em: Seg, 19 Jan 2009 4:29 pm
- Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html
OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist
Sim, você pode dar open, depois close e abrir de novo. Porém, lembre-se que "percorrer" cursor em loop é algo altamente indesejável, pois é lento: para transformações e, principalmente, para fazer inserts, selects, updates, deletes e tudo mais.
Quanto menos loops em cursor, melhor e mais eficiente o código, e menos complexo para dar manutenção e debug mais tarde.
Quanto menos loops em cursor, melhor e mais eficiente o código, e menos complexo para dar manutenção e debug mais tarde.
SQL> declare
2 cursor cur_teste is
3 select table_name from all_tables where rownum <= 5 and owner = 'SYS';
4 type t_cur_teste is table of cur_teste%rowtype;
5 v_teste t_cur_teste;
6 begin
7 open cur_teste;
8 fetch cur_teste bulk collect into v_teste;
9 close cur_teste;
10 for i in 1 .. v_teste.count
11 loop
12 dbms_output.put_line(i || ' - ' || v_teste(i).table_name);
13 end loop;
14 open cur_teste;
15 fetch cur_teste bulk collect into v_teste;
16 close cur_teste;
17 for i in 1 .. v_teste.count
18 loop
19 dbms_output.put_line(i || ' - ' || v_teste(i).table_name);
20 end loop;
21 end;
22 /
PL/SQL procedure successfully completed
SQL>
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Seg, 31 Mai 2010 8:54 am
- Localização: Londrina-Pr
Analista/Programador
Luís Gustavo Verri Zacheu
Luís Gustavo Verri Zacheu
obrigado, pela sua atenção!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante