Подтвердить что ты не робот

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 - выполняется, и сообщение об ошибке не имеет ничего общего с этой командой.

Что мне не хватает?

4b9b3361

Ответ 1

В строке 5 отсутствует /.

Существует хороший ответ на различия между ; и / здесь.

В принципе, при запуске блока CREATE через script вам нужно использовать /, чтобы SQLPlus знал, когда заканчивается блок, поскольку блок PL/SQL может содержать много экземпляров ;.

Ответ 2

Запустить декларацию пакета и тело отдельно.