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
  

Mensagemem Qui, 11 Nov 2004 3:58 pm

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

obrigado !!!
tfg
Localização: Novo Hamburgo - RS

Mensagemem Qui, 11 Nov 2004 4:04 pm

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

Aí vai um exemplo básico:
Código: Selecionar todos
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
Código: Selecionar todos
WHERE rowid= vur1.rowid
dr_gori
Localização: Portland, OR USA

Thomas F. G

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


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


    Voltar para SQL

    Quem está online

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