This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
kurs:nested_table_als_column_type [2011/11/17 14:04] mh |
kurs:nested_table_als_column_type [2011/11/17 14:24] mh |
||
---|---|---|---|
Line 25: | Line 25: | ||
c INTEGER; | c INTEGER; | ||
f BOOLEAN := FALSE; | f BOOLEAN := FALSE; | ||
+ | al number; | ||
BEGIN | BEGIN | ||
SELECT COUNT (id) | SELECT COUNT (id) | ||
Line 40: | Line 41: | ||
FROM kursteilnehmer | FROM kursteilnehmer | ||
WHERE name = p_name; | WHERE name = p_name; | ||
- | + | ||
- | FOR i IN 1 .. t_ausbildung.LAST | + | if t_ausbildung is null then |
+ | al := 0; | ||
+ | t_ausbildung := ausbildung(); | ||
+ | else | ||
+ | al := t_ausbildung.last; | ||
+ | end if; | ||
+ | | ||
+ | FOR i IN 1 .. al | ||
LOOP | LOOP | ||
IF t_ausbildung (i) = p_add_ausbildung | IF t_ausbildung (i) = p_add_ausbildung | ||
Line 51: | Line 59: | ||
IF f = FALSE | IF f = FALSE | ||
THEN | THEN | ||
+ | | ||
+ | | ||
t_ausbildung.EXTEND; | t_ausbildung.EXTEND; | ||
- | t_ausbildung (t_ausbildung.LAST) := p_add_ausbildung; | + | t_ausbildung (al + 1) := p_add_ausbildung; |
UPDATE kursteilnehmer | UPDATE kursteilnehmer | ||
Line 64: | Line 74: | ||
DBMS_OUTPUT.put_line (t_ausbildung (i)); | DBMS_OUTPUT.put_line (t_ausbildung (i)); | ||
END LOOP;*/ | END LOOP;*/ | ||
+ | END; | ||
+ | |||
END; </code> | END; </code> |