De volgende trigger code werkt wel goed onder database niveau maar werkt niet op applicatie niveau. Hoe kunnen we deze trigger defineren zodat hij ook op oracle developer 2000 formulier werkt.
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| CREATE OR REPLACE TRIGGER tr_inschrijving BEFORE UPDATE OR INSERT ON inschrijving FOR EACH ROW DECLARE aantal number; BEGIN SELECT COUNT(*) INTO aantal FROM inschrijving i WHERE i.schoolnaam = :new.schoolnaam AND i.plaatsnaam = :new.plaatsnaam AND i.programma = :new.programma; if :new.programma in (1,2,3,4,5,6,7,8,9,10,11,12) then if aantal = 2 then raise_application_error( -20000, ‘Maximum inschrijving voor programma ‘|| :new.programma ||’ voor school ‘|| :new.schoolnaam ||’ is bereikt’); end if; end if; if :new.programma in (13) then if aantal = 4 then raise_application_error( -20000, ‘Maximum inschrijving voor programma ‘|| :new.programma ||’ voor school ‘|| :new.schoolnaam ||’ is bereikt’); end if; end if; if :new.programma in (14) then if aantal = 1 then raise_application_error( -20000, ‘Maximum inschrijving voor programma ‘|| :new.programma ||’ voor school ‘|| :new.schoolnaam ||’ is bereikt’); end if; end if; END; |
[ Voor 5% gewijzigd door curry684 op 24-09-2003 15:27 ]