All pastes #45407 Raw Edit

Miscellany

public sql v1 · immutable
#45407 ·published 2006-03-12 21:10 UTC
rendered paste body
DECLARE    PROCEDURE prepareNextSemester IS    cur_student INT;    cur_study INT;    cur_subject INT;    cur_semester smallINT;    cur_subject_desc VARCHAR(50);    first_student INT;    last_student INT;    first_study INT;    last_study INT;    tmp_semester INT := 0;    -- TYPE student_table IS TABLE OF studenten%ROWTYPE;    -- all_students student_table;        -- TYPE subject_table IS TABLE OF unterricht%ROWTYPE;    -- all_subjects subject_table;    BEGIN        --DBMS_OUTPUT.PUT_LINE('Well well, first index is ' || all_students.first);        SELECT MIN(personen_id), MAX(personen_id) INTO first_student, last_student FROM studenten;        DBMS_OUTPUT.PUT_LINE('Max students... ' || first_student);        DBMS_OUTPUT.PUT_LINE('Min students... ' || last_student);        FOR i IN first_student .. last_student LOOP            BEGIN                SELECT personen_id, studium_id, aktsemester INTO cur_student, cur_study, cur_semester                FROM studenten WHERE personen_id = i;                DBMS_OUTPUT.PUT_LINE('Current person... ' || i || ', current study ' || cur_study || ' currsemester' || cur_semester);                                BEGIN                    IF tmp_semester != 0 THEN                        tmp_semester := cur_semester;                    END IF;                                        tmp_semester := cur_semester+1;                                        DBMS_OUTPUT.PUT_LINE('Semster... ' || tmp_semester);                    SELECT MAX(unterricht_id), MIN(unterricht_id) INTO first_study, last_study                     FROM studien s                    INNER JOIN faecher f ON f.studium_id = s.STUDIUM_ID                    INNER JOIN unterricht u ON u.fach_id = f.FACH_ID                    WHERE s.STUDIUM_ID = cur_study AND f.semester = tmp_semester;                                        DBMS_OUTPUT.PUT_LINE('First study: ' || first_study || ' - Last Study: ' || last_study);                    FOR x IN first_study .. last_study LOOP                        BEGIN                            DBMS_OUTPUT.PUT_LINE('person ' || i || ', current study ' || x);                        EXCEPTION                            WHEN NO_DATA_FOUND THEN                                DBMS_OUTPUT.PUT_LINE('Fuck ya all!!');                            WHEN OTHERS THEN                                DBMS_OUTPUT.PUT_LINE('Fuck ya all!!');                        END;                    END LOOP;                END;            EXCEPTION                WHEN NO_DATA_FOUND THEN                    DBMS_OUTPUT.PUT_LINE('No data found');                WHEN OTHERS THEN                    DBMS_OUTPUT.PUT_LINE('No data found');            END;        END LOOP;    EXCEPTION        WHEN NO_DATA_FOUND THEN            DBMS_OUTPUT.PUT_LINE('Damned, come on, wrong SQL');        WHEN OTHERS THEN            DBMS_OUTPUT.PUT_LINE('well i guess others');    END;BEGIN    prepareNextSemester();END;