Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 下一个查询没有';看不到前面的单个SQL文件-PL/SQL_Oracle_Plsql - Fatal编程技术网

Oracle 下一个查询没有';看不到前面的单个SQL文件-PL/SQL

Oracle 下一个查询没有';看不到前面的单个SQL文件-PL/SQL,oracle,plsql,Oracle,Plsql,我有个问题 我在一个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 FUNC

我有个问题

我在一个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语句时(我的意思是选择第一个Create、ctrl+enter、然后选择第二个和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。

使用
/

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;
/

@Simonare是100%正确的

另一个选项是高亮显示该类型的文本并按ctrl+enter,然后选择该类型正文的文本并再次按ctrl+enter


如果您正在将代码保存到要存储在源代码管理系统中的文件中(请说您正在这样做),那么您需要注意稍后如何执行此代码。它将用于SQL*Plus中吗?SQL开发人员?还有别的吗?然后为它编写代码……这当然意味着您还需要测试它

/
基本上调用前面的PL/SQL代码块;没有它,Oracle就不知道何时/编译什么。