Oracle : stießen auf das symbol "end-of-file"

Ich stehe vor einem seltsamen problem. Es zeigt mir:

FEHLER in Zeile 28: PLS-00103: stießen auf das symbol "end-of-file", wenn Sie erwarten eine der folgenden Optionen:

den code ist unten:

CREATE OR REPLACE FUNCTION st_atten_up(stu_id IN student_info.id%type,app_mon IN student_attendence.month%type)
RETURN NUMBER
    IS
        PRAGMA AUTONOMOUS_TRANSACTION;
        att1 NUMBER; 
        CURSOR c1(sid IN student_info.id%type, pmon IN student_attendence.month%type) IS
        SELECT ATTENDANCE
        FROM STUDENT_ATTENDENCE
        WHERE id = sid and month = pmon;

    -- You may want a smaller variable if you know the result will be smaller
    BEGIN
        open c1;
        fetch c1(stu_id,app_mon) into att1;
        c1;

        att1 :=att1 + 1;
        UPDATE STUDENT_ATTENDENCE
        SET STUDENT_ATTENDENCE.ATTENDANCE = att1
        where STUDENT_ATTENDENCE.ID = stu_id and STUDENT_ATTENDENCE.month = app_mon;
        COMMIT;
        return att1;

        EXCEPTION
        WHEN OTHERS THEN
            ROLLBACK;
            raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
    END;

Verstehe ich nicht, was ist hier falsch.

Ist, dass / am Ende in die eigentliche Datei, oder einfach nur Ihre code-block? Ursache wie es aussieht, ist das problem.
nicht nur in der code-block @Grau
Ah, ok, und ist das die gesamte Fehlermeldung? Es scheint, wie es über die Liste etwas. "erwartet Sie eine der folgenden..."?
Nein, es ist wie FEHLER in Zeile 28: PLS-00103: stießen auf das symbol "end-of-file", wenn Sie erwarten eine der folgenden Optionen: Ende nicht pragma final instantiable, um überschreiben von statischen member-Konstruktor Karte 1. CREATE or REPLACE-FUNKTION st_atten_up(stu_id IN student_info.id%type,app_mon IN student_attendence.Monat% - Typ) 2. RÜCKKEHR NUMMER 3. 4. PRAGMA AUTONOMOUS_TRANSACTION;
Ändern Sie Ihre update-Anweisung eine einzige Zeile statt 3 Linien, und schließen Sie den cursor ein (Ersetzen Sie c1; Zeile mit " close c1;). Sehen, ob dies hilft

InformationsquelleAutor nixon1333 | 2013-07-26

Schreibe einen Kommentar