Создание хранимой процедуры требует пакета в Oracle
Ниже приведен пример PL/SQL, предназначенный для создания очень простой хранимой процедуры в Oracle на основе кода, сгенерированного с помощью среды разработки SQL Developer. Я получаю сообщение об ошибке при запуске команды. Во многих онлайн-руководствах инструкции по созданию хранимых процедур не требуют пакета (в исходном коде). Когда требуется пакет в Oracle? И как я могу исправить приведенный ниже код, чтобы он был максимально простым?
Исходный код:
CREATE OR REPLACE PROCEDURE PROCEDURE1
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World!');
END;
Ошибка:
Определение пустого пакета PROCEDURE1 (нет открытых членов).
FYI:
Перед запуском приведенного выше кода я следовал этим инструкциям, чтобы создать простой пример хранимой процедуры и подключиться через Enterprise Library. Этот код работал.
http://www.codeproject.com/Articles/19581/Microsoft-Enterprise-Library-Data-Access-Block-DAA
2 ответа
Рабочий процесс, чтобы избежать ошибки:
При использовании SQL Developer IDE для Oracle щелкните правой кнопкой мыши "{Имя базы данных} > Процедуры> Новая процедура" в проводнике объектов и нажмите "ОК" в этом диалоговом окне после ввода имени хранимой процедуры, нажмите кнопку " две шестерни" ("Компиляция").
Заметка
Кнопка Зеленый треугольник используется для запуска скомпилированной процедуры, но ее необходимо скомпилировать, прежде чем вы сможете ее запустить.
Рабочий процесс для воспроизведения ошибки:
При использовании SQL Developer IDE для Oracle, если щелкнуть правой кнопкой мыши "{Имя базы данных} > Процедуры> Новая процедура" в проводнике объектов и щелкнуть "ОК" в этом диалоговом окне после ввода имени хранимой процедуры и щелкнуть по кнопке зеленого треугольника (выполнить), Я получаю эту ошибку.
Решение:
Я щелкнул правой кнопкой мыши {Database Name} и выбрал "Open SQL Worksheet", а затем вставил код, сгенерированный из рабочего процесса выше. Затем нажал зеленую кнопку треугольника (выполнить).
Какая часть * HIT IDE!
"Я разрезал лист"
"ЛИСТ Я РАЗРЕЗАН"
"И НА ЭТОМ РАЗРЕШЕННОМ ЛИСТЕ Я СЯЖУ"