Home » SQL & PL/SQL » SQL & PL/SQL » trigger errors
trigger errors [message #2865] Mon, 19 August 2002 02:32 Go to next message
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 Go to previous message
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.
Previous Topic: Table Join Query?
Next Topic: collections in "in" clause
Goto Forum:
  


Current Time: Fri Apr 19 06:52:20 CDT 2024