Oracle 下一个查询没有';看不到前面的单个SQL文件-PL/SQL
我有个问题 我在一个sql文件中有以下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
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就不知道何时/编译什么。