trigger errors [message #2865] |
Mon, 19 August 2002 02:32 |
Marg
Messages: 1 Registered: August 2002
|
Junior Member |
|
|
What's wrong with this trigger?
DECLARE
VAmountParticipantsForProgram INTEGER;
VdbTime VARCHAR(4);
vbasisschool INTEGER;
vprogramma INTEGER;
vpunten INTEGER;
Blaat INTEGER := 1;
Vhuidigschoolnummer INTEGER;
SELECT schoolnummer INTO Vhuidigschoolnummer from Deelnemer where deelnemerid = :deelnemerid;
CURSOR C1 IS
SELECT MIN(tijd), Vhuidigschoolnummer, programma
FROM v_puntentoekenning
WHERE programma = :programma
Group By Vhuidigschoolnummer, programma
Order BY MIN(tijd);
BEGIN
SELECT count (*) INTO VAmountParticipantsForProgram FROM DEELNAME_SPECIFICATIE WHERE
programma = :programma AND tijd IS null;
IF VAmountParticipantsForProgram != 0 THEN
MESSAGE('Nog niet alle tijden zijn ingevoerd.');
RAISE FORM_TRIGGER_FAILURE;
ELSE
OPEN c1;
LOOP
FETCH c1 INTO vdbtime, vbasisschool, vprogramma;
vpunten := blaat;
EXIT when c1%notfound;
INSERT INTO programma_schoolpunten VALUES (vbasisschool, vprogramma,vpunten);
blaat := blaat +1;
END LOOP;
END if;
END;
----------------------------------------------------
deelnemerid seems to be a bad bind variable
expecting another symbol where C1 begins
programma also seems to be a bad bind variable.
I hope that somebody is able to help me.
regards, Margje
|
|
|
Re: trigger errors [message #2877 is a reply to message #2865] |
Mon, 19 August 2002 09:30 |
Todd Barry
Messages: 4819 Registered: August 2001
|
Senior Member |
|
|
I do not know about Forms triggers, but this statement:
SELECT schoolnummer INTO Vhuidigschoolnummer from Deelnemer where deelnemerid = :deelnemerid;
would appear to need to be after the BEGIN.
Also, you are not closing the C1 cursor after the END LOOP.
|
|
|