Onderstaande gedeelte werkt prima, maar blijf het onoverzichtelijk vinden. Namelijk eerst een recordvariabele declareren, dan een plsqltabel declareren en daar dan recordvariabele instoppen.
1. Bestaat een plsql tabel altijd uit max. 2 velden (index+veld)?
2. Is het toch mogelijk meerdere velden (index+naam+functie+maandsal+cumsal)in een plsqltabel te krijgen met maar één declaratie via:
TYPE type_tab_medrec IS TABLE OF type_rec_med INDEX BY binary_integer;.
------------------------------------------------------------
DECLARE
CURSOR c_med IS SELECT naam,functie,maandsal FROM medewerkers ORDER by naam;
TYPE type_rec_med IS RECORD
(
naam medewerkers.naam%type,
functie medewerkers.functie%type,
maandsal medewerkers.maandsal%type,
cumsal number
);
TYPE type_tab_medrec IS TABLE OF type_rec_med INDEX BY binary_integer;
t_med type_tab_medrec;
v_cumsal number := 0;
v_teller number := 0;
BEGIN
dbms_output.put_line('dit is even als opvulling');
END;
1. Bestaat een plsql tabel altijd uit max. 2 velden (index+veld)?
2. Is het toch mogelijk meerdere velden (index+naam+functie+maandsal+cumsal)in een plsqltabel te krijgen met maar één declaratie via:
TYPE type_tab_medrec IS TABLE OF type_rec_med INDEX BY binary_integer;.
------------------------------------------------------------
DECLARE
CURSOR c_med IS SELECT naam,functie,maandsal FROM medewerkers ORDER by naam;
TYPE type_rec_med IS RECORD
(
naam medewerkers.naam%type,
functie medewerkers.functie%type,
maandsal medewerkers.maandsal%type,
cumsal number
);
TYPE type_tab_medrec IS TABLE OF type_rec_med INDEX BY binary_integer;
t_med type_tab_medrec;
v_cumsal number := 0;
v_teller number := 0;
BEGIN
dbms_output.put_line('dit is even als opvulling');
END;
"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant