WHERE CURRENT OF dentro dos cursores

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Avatar do usuário
tfg
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 83
Registrado em: Seg, 03 Mai 2004 3:38 pm
Localização: Novo Hamburgo - RS

Alguém poderia me explicar o uso do WHERE CURRENT OF ???

obrigado !!!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

O Where Current OF se usa quando se quer fazer um UPDATE no registro corrente do cursor.

Aí vai um exemplo básico:

Selecionar tudo

declare 
  cursor cur1 is select i, c from test_for_cursor for update;
begin
  for aa in cur1 loop
    if aa.i>12 then
      update test_for_cursor set i=i*2, c=upper(c) where current of cur1;
    end if;
  end loop;
end;
Observe que não é necessário colocar chave nem nada.
É possível fazer o mesmo se você recuperar o ROWID na coluna, daí basta fazer um

Selecionar tudo

WHERE rowid= vur1.rowid
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes