All pastes #45360 Raw Edit

Something

public sql v1 · immutable
#45360 ·published 2006-03-12 15:29 UTC
rendered paste body
CREATE OR REPLACE PROCEDURE prepareNextSemester IS    cur_student INT;    cur_study INT;    cur_subject INT;    cur_subject_desc VARCHAR(50);    first_student INT;        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 * BULK COLLECT INTO all_students FROM studenten;        -- FOR i IN all_students.first .. all_students.last LOOP        --    DBMS_OUTPUT.PUT_LINE('Current person... ' || all_students(i).personen_id);        -- END LOOP;        -- selecting all students into all_students collection        FOR i IN all_students.first .. all_students.last LOOP            BEGIN                SELECT u.* BULK COLLECT INTO all_subjects 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 = all_students(i).studium_id;                                FOR x IN all_subjects.first .. all_subjects.last LOOP                    BEGIN                        SELECT kbz INTO cur_subject_desc FROM unterricht u                        INNER JOIN faecher f ON f.fach_id = u.fach_id                        WHERE all_subjects(x).unterricht_id = u.unterricht_id;                        -- DBMS_OUTPUT.PUT_LINE('Current subject ' || cur_subject_desc);                    EXCEPTION                        WHEN NO_DATA_FOUND THEN                            DBMS_OUTPUT.PUT_LINE('No subject with found!');                    END;                END LOOP;            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;