PLS-00103: Обнаружен символ "СОЗДАТЬ"
В чем проблема с этим пакетом, поскольку он дает ошибку?
CREATE OR REPLACE PACKAGE PKG_SHOW_CUST_DETAILS
AS
PROCEDURE SHOW_CUST_DETAILS( myArg VARCHAR2);
END PKG_SHOW_CUST_DETAILS;
CREATE OR REPLACE PACKAGE BODY PKG_SHOW_CUST_DETAILS
AS
PROCEDURE SHOW_CUST_DETAILS(myArg VARCHAR2)
IS
BEGIN
DBMS_OUTPUT.PUT_LINE(myArg);
END SHOW_CUST_DETAILS;
END PKG_SHOW_CUST_DETAILS;
/
При компиляции вышеприведенного script, я получаю следующие ошибки:
SQL> show errors
Errors for PACKAGE PKG_SHOW_CUST_DETAILS:
LINE/COL ERROR
-------- -----------------------------------------------------------------
6/1 PLS-00103: Encountered the symbol "CREATE"
Пакет очень прост, и я не могу его скомпилировать. Я искал более ранние ответы на это сообщение об ошибке, и никто из них не разрешил мою проблему.
Я постоянно получаю эту ошибку для еще двух пакетов, и я застрял в этом сообщении об ошибке независимо от того, что я делаю. Я даже пытался разбить все до минимального минимума, как показано выше, но сообщение об ошибке, похоже, не исчезает.
BTW Я выполняю это в командной строке SQL плюс сеанс после входа в мою базу данных Oracle 11G.
YES-SET SERVEROUTPUT ON - выполняется, и сообщение об ошибке не имеет ничего общего с этой командой.
Что мне не хватает?
Ответы
Ответ 1
В строке 5 отсутствует /
.
Существует хороший ответ на различия между ;
и /
здесь.
В принципе, при запуске блока CREATE
через script вам нужно использовать /
, чтобы SQLPlus знал, когда заканчивается блок, поскольку блок PL/SQL может содержать много экземпляров ;
.
Ответ 2
Запустить декларацию пакета и тело отдельно.