This is an old revision of the document!
PROCEDURE teilnehmer_index_by_varchar is type teilnehmer_type IS RECORD (name varchar2(25), geschlecht varchar2(25)); TYPE teilnehmer_table_type IS TABLE OF varchar2(25) INDEX BY varchar2(25); tn teilnehmer_table_type; v_i varchar2(25); BEGIN tn('Mark') := 'M'; tn('Karin') := 'W'; tn('Albert') := 'M'; tn('Gökhan') := 'M'; tn('Natalya') := 'W'; v_i := tn.first; while v_i is not null loop dbms_output.put_line(v_i||' '||tn(v_i)); v_i := tn.next(v_i); end loop; END; -- Procedure
PROCEDURE SALARY_DIFF_VC IS cursor bonus_salary is SELECT * FROM bonus order by salary desc; TYPE bonus_table_type IS TABLE OF bonus%rowtype INDEX BY varchar2(100); bonus_table bonus_table_type; bonus_salary_rec bonus%rowtype; v_index varchar2(100); BEGIN open bonus_salary; loop fetch bonus_salary into bonus_salary_rec; exit when bonus_salary%notfound; bonus_table(bonus_salary_rec.first_name||' '||bonus_salary_rec.last_name) := bonus_salary_rec; end loop; close bonus_salary; v_index := bonus_table.first; for j in 1..bonus_table.count loop dbms_output.put_line(j||' '|| bonus_table(v_index).first_name ||' '|| bonus_table(v_index).last_name ||' '|| bonus_table(v_index).salary); v_index := bonus_table.next(v_index); end loop; END; -- Procedure