Процедура определения вместимости класса без отображения результатов - PullRequest
0 голосов
/ 04 апреля 2019

Я создал процедуру, которая должна определять разделы класса при максимальной регистрации. У меня есть таблица "Регистрация" и таблица "Раздел". В таблице регистрации есть столбец для «sectionID», а в таблице разделов есть столбец «sectionID» и «емкость». Теперь проблема в том, что мой код вообще ничего не отображает после компиляции.

CREATE OR REPLACE PROCEDURE section_max AS

        CURSOR enrollment_sectionID IS
        SELECT SECTION_ID
        FROM ENROLLMENT;

        CURSOR section_sectionID IS
        SELECT SECTION_ID
        FROM SECTION;

        CURSOR section_capacity IS
        SELECT CAPACITY
        FROM SECTION;

        inc NUMBER(3,0);
        temp_enrollment_sectionID NUMBER(8,0); 
        temp_section_sectionID NUMBER(8,0);
        temp_section_capacity NUMBER(3,0);

        BEGIN
              OPEN enrollment_sectionID;
              OPEN section_sectionID;
              OPEN section_capacity;
              LOOP
                FETCH enrollment_sectionID
                INTO temp_enrollment_sectionID;
                EXIT WHEN enrollment_sectionID%NOTFOUND;
                inc := 0;
                LOOP
                      FETCH section_sectionID
                      INTO temp_section_sectionID;
                      FETCH section_capacity
                      INTO temp_section_capacity;
                      EXIT WHEN section_sectionID%NOTFOUND;

                      IF temp_enrollment_sectionID = temp_section_sectionID THEN
                    inc := inc + 1; --inc is the incrementer or counter
                    IF inc = temp_section_capacity THEN
                          DBMS_OUTPUT.PUT_LINE('Section ' || temp_enrollment_sectionID || ' is maxed out');
                    END IF;
                      END IF;
                END LOOP; 
              END LOOP;
        END section_max;

Список столбцов ёмкости 2 секции с максимальной емкостью, однако после запуска моего кода ничего не отображается

1 Ответ

1 голос
/ 04 апреля 2019

Компиляция - ничего не должно отображаться, кроме, возможно, статуса компиляции - успех, ошибки или предупреждения.

Теперь выполнение - это другое дело.

В Oracle SQL Developer, чтобы увидеть выход СУБД, сначала необходимо включить его.

В вашем рабочем листе SQL запустите

set serveroutput on

Тогда выполните вашу процедуру. Вы увидите ВЫХОД СУБД на панели «Вывод скрипта»

enter image description here

Или откройте панель «Вывод СУБД» в меню «Вид». Добавьте ваше соединение, затем запустите ваш код. Вывод отобразится на новой панели на рабочем столе.

enter image description here

...