Loop, For, PL / SQL Cursors (Doubt)

1

Good morning, my doubt is as follows, my table is like this currently:

Nome    Idade   ID
João    5       
Lucas   5   
João    2   
Lucas   1   

I wish it looks like this:

Nome    Idade   ID
João    2       1
João    5       2
Lucas   1       1
Lucas   5       2

Only my cursor is leaving the table like this:

Nome    Idade   ID
João    2       1
João    5       1
Lucas   1       2
Lucas   5       2

Someone can help me, this is my cursor:

Declare
  v_contador  number := 0;
  v_min_idade number := 0;

  cursor c_i is
    select t.*, rowid from teste_matheus t order by nome, idade asc;

begin
  for i in c_i loop

    select min(idade)
      into v_min_idade
      from teste_matheus
     where id is null
       and nome = i.nome;

    if i.idade = v_min_idade and i.id is null then
       v_contador := v_contador + 1; 

      update teste_matheus t
         set id = v_contador
       WHERE id is null
         and nome = i.nome;

     END IF;
    END LOOP;
   END;

Thank you! ^^

    
asked by anonymous 30.01.2018 / 14:04

0 answers