【发布时间】:2020-11-09 13:10:05
【问题描述】:
我有一个包含大陆的数据库,我想创建一个向数据库添加新大陆的过程,但有例外。我尝试通过创建一个已经存在的大陆(亚洲)来执行我的包 GEST_GEO 中的过程,并且没有引发我的异常。有谁知道为什么它不起作用? (nom 是名字)
这是我的代码:
CREATE OR REPLACE PACKAGE GEST_GEO AS
Procedure ADDCONTINENT(pnom continent.nom%TYPE, psuperficie continent.superficie%TYPE);
END GEST_GEO;
/
CREATE OR REPLACE PACKAGE BODY GEST_GEO AS
-- ADDCONTINENT
Procedure ADDCONTINENT(pnom CONTINENT.NOM%TYPE, psuperficie CONTINENT.SUPERFICIE%TYPE) IS
BEGIN
INSERT INTO CONTINENT VALUES (pnom, psuperficie);
COMMIT;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN DBMS_OUTPUT.PUT_LINE('The continent already exists');
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLCODE || '–' || SQLERRM);
END ADDCONTINENT;
END GEST_GEO;
/
execute GEST_GEO.ADDCONTINENT('Asia',99380);
执行时它只会告诉我PL/SQL procedure successfully completed
谢谢
【问题讨论】:
标签: sql oracle plsql oracle-sqldeveloper plsqldeveloper