Toon posts:

[ASA + SQL] Cursor not declared

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben dus bezig een query te maken die in een betalingen tabel de betalingen voor een sportvereniging toevoegd. Ik krijg hierbij alleen constant een foutmelding over dat de cursor not declared is, ik weet zelf gewoon nietmeer waar het aan kan liggen :?

code:
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
32
33
34
35
36
37
38
39
40
41
42
BEGIN
    DECLARE lid CURSOR FOR
    SELECT lidnr, periode
    FROM leden;
    DECLARE lidnummer INT;
    DECLARE periode Char(1);
    DECLARE jaar INT;
    DECLARE per INT;
    SET jaar = (SELECT datepart (Year,getdate()));
    OPEN lid;
    OPEN betaaldatum;
    betalinginvoeren:
    LOOP
        FETCH NEXT lid
        INTO lidnummer, periode;
        SET per = 1;
        IF ( SQLCODE = SQLE_NOTFOUND) THEN
            LEAVE betalinginvoeren;
        END IF;
        IF periode = 'M' THEN
            WHILE per < 12
            LOOP
                INSERT INTO betalingen (lidnr,per,jaar,bedrag,betaald)
                VALUES (lidnummer,per,jaar,110,0);
                SET per = per +1;
            END LOOP;
        ELSEIF periode = 'K' THEN
            WHILE per < 4 
            LOOP
                INSERT INTO betalingen (lidnr,per,jaar,bedrag,betaald)
                VALUES (lidnummer,per,jaar,110,0);
                SET per = per +1;
            END LOOP;
        ELSEIF periode = 'J' THEN
                INSERT INTO betalingen (lidnr,per,jaar,bedrag,betaald)
                VALUES (lidnummer,per,jaar,110,0);
        ELSE
            LEAVE betalinginvoeren;
      END IF;
    END LOOP betalinginvoeren;
CLOSE lid;
END


Waar moet ik de fout zoeken, de helpfile van sybase en google boden geen uitkomst. Ik snap er werkelijkniets van :r

  • Shir
  • Registratie: November 2000
  • Laatst online: 25-11-2025
code:
1
OPEN betaaldatum;

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Weet je zeker dat je hier een cursor voor nodig bent? Ik denk dat het wel kan zonder cursor. Als het maar even kan moet een een cusor vermijden. Relationele databases zijn juist sterk in het operaties op grote sets data in 1 keer, niet in procedurele code.

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
OMG dat is wel heel dom (dat krijg je als je eerst met 2 cursors werkt en je daar niet veel ervaring mee hebt, mijn dankis groot :)