处理ORACLE例外
发布时间:2020-12-12 13:07:34 所属栏目:百科 来源:网络整理
导读:我需要处理 ORA-01400 error(不能使用异常句柄将NULL插入(“SCHEMA”.“TABLE_NAME”.“COLUMN_NAME”)). ORACLE预定义了一些例外(例如ACCESS_INTO_NULL,ZERO_DIVIDE等),但显然没有为ORA-01400错误定义异常,我该如何处理这个特定的错误代码? 我需要这样的东
我需要处理
ORA-01400 error(不能使用异常句柄将NULL插入(“SCHEMA”.“TABLE_NAME”.“COLUMN_NAME”)).
ORACLE预定义了一些例外(例如ACCESS_INTO_NULL,ZERO_DIVIDE等),但显然没有为ORA-01400错误定义异常,我该如何处理这个特定的错误代码? 我需要这样的东西(接受其他建议). .... ... INSERT INTO MY_TABLE (CODE,NAME) VALUES (aCode,aName); COMMIT; EXCEPTION WHEN NULL_VALUES THEN /* i don't know this value,exist?*/ Do_MyStuff(); WHEN OTHERS THEN raise_application_error(SQLCODE,MY_OWN_FORMAT_EXCEPTION(SQLCODE,SQLERRM),TRUE); END;预定义的PL / SQL异常对Oracle来说是特殊的.你真的不能搞砸那些.如果您想拥有自己的一组预定义异常,则不能像标准的那样“全局”声明它们.相反,创建一个包含所有异常声明的异常包,并在您的应用程序代码中使用它. 例: CREATE OR REPLACE PACKAGE my_exceptions AS insert_null_into_notnull EXCEPTION; PRAGMA EXCEPTION_INIT(insert_null_into_notnull,-1400); update_null_to_notnull EXCEPTION; PRAGMA EXCEPTION_INIT(update_null_to_notnull,-1407); END my_exceptions; / 现在使用包中定义的异常 CREATE OR REPLACE PROCEDURE use_an_exception AS BEGIN -- application specific code ... NULL; EXCEPTION WHEN my_exceptions.insert_null_into_notnull THEN -- application specific handling for ORA-01400: cannot insert NULL into (%s) RAISE; END; / 资料来源:http://www.orafaq.com/wiki/Exception (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- namespace-organization – 在c#中的不同命名空间中使用具有
- Swift - 让StoryBoard设计视图,程序运行时都使用横屏形式
- 使用BlazeDS与Flash Builder4.5整合Java EE应用(一)
- c# – Ruby和Dot net之间的加密 – 解密
- 嵌入式ARM+SQLite3+BOA服务器用户登录验证功能
- iphone – 如何使用ASIHTTPRequest发送删除请求?
- 手把手教你使用opencv2.3创建人脸分类器
- Swift3 十六进制颜色代码转UIColor & CGColor
- postgresql修改插入数据id的起始值
- Cocos2d-x碰撞检查与消灭的实现