Следующий запрос не видит предыдущий, единственный файл SQL - PL / SQL - PullRequest
0 голосов
/ 16 января 2019

У меня проблема.

У меня есть следующие операторы SQL в одном файле SQL:

CREATE OR REPLACE TYPE Banda AS OBJECT (
    nr_bandy NUMBER(2)
    , nazwa VARCHAR2(20)
    , teren VARCHAR2(20)

    , MAP MEMBER FUNCTION MapBanda RETURN NUMBER
);

CREATE OR REPLACE TYPE BODY Banda IS
    MAP MEMBER FUNCTION MapBanda RETURN NUMBER IS
    BEGIN
        RETURN nr_bandy;
    END;
END;

Когда я запускаю эти Create-Statements одну за другой (я имею в виду выберите сначала create, ctrl + enter, затем second и ctrl + enter), я создам эти структуры без каких-либо проблем. Но если я попытаюсь создать их обоих (я имею в виду Ctrl + A -> Ctrl + Enter), то второй запрос, похоже, будет знать о типе 'Banda'.

Я получаю:

Type BANDA compiled

LINE/COL  ERROR
--------- -------------------------------------------------------------
8/1       PLS-00103: Encountered the symbol "CREATE" 
Errors: check compiler log

Есть ли возможность "зафиксировать" каждое отдельное утверждение? На самом деле у меня есть около 10-12 типов, созданных таким образом, так что это действительно раздражает. Я использую Oracle SQL Developer.

Ответы [ 2 ]

0 голосов
/ 16 января 2019

@ Симонаре на 100% правильно.

Другой вариант - выделить текст для ТИПА, нажать Ctrl + Enter, затем выбрать текст для текста и снова нажать Ctrl + Enter.

Если вы сохраняете свой код в файл (ы) для хранения в системе управления версиями (ПОЖАЛУЙСТА, СДЕЛАЙТЕ, ЧТО ЭТО ДЕЛАЕТЕ), вам нужно помнить о том, как этот код будет выполняться позже. Будет ли он использоваться в SQL * Plus? Разработчик SQL? Что-то другое? Затем напишите код для ЭТО ... что, конечно, означает, что вы также захотите проверить его.

0 голосов
/ 16 января 2019

попробуйте с /

CREATE OR REPLACE TYPE Banda AS OBJECT (
    nr_bandy NUMBER(2)
    , nazwa VARCHAR2(20)
    , teren VARCHAR2(20)

    , MAP MEMBER FUNCTION MapBanda RETURN NUMBER
);
/

CREATE OR REPLACE TYPE BODY Banda IS
    MAP MEMBER FUNCTION MapBanda RETURN NUMBER IS
    BEGIN
        RETURN nr_bandy;
    END;
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...