rem
rem name_now: most recent name
rem

create or replace function name_now(id varchar2) 
return number as name_now number(2);

cursor c(pid varchar2) is
 select max(name_serial)
  from name
  where name_id = pid;

begin
 open c(id);
 fetch c into name_now;

 if c%notfound then
    name_now := null;
 end if;

 close c;
 return name_now;
end;
/