我有个问题。
我在一个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;
当我逐个运行这些创建语句时(我的意思是选择第一个创建,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%正确的。
你的另一个选择是突出显示TYPE的文本并点击ctrl + enter然后选择类型体的文本并再次点击ctrl + enter。
如果您要将代码保存到文件中以存储在源控制系统中(请说你正在做这件事),那么你将要注意以后如何执行此代码。它会在SQL * Plus中使用吗? SQL Developer?别的什么?然后编写THAT的代码...这当然意味着你也想要测试它。