Oracle数据库自定义异常的使用方法

来源:不详  作者:佚名  时间:2009-9-6 17:14:04 Tags: Orac 使用方法

需求:业务逻辑在处理数据时,需要返回Message并阻止程序的继续运行。但是,在存储过程使用Oracle数据库的Raise根本无法满足现在的要求。

解决方法:

使用RAISE_APPLICATION_ERROR

RAISE_APPLICATION_ERROR ( error_number_in IN NUMBER, error_msg_in IN VARCHAR2);

error_number: 自定义的错误编号。

error_msg:自定义的错误内容。

在使用的过程中,你可能会遇到了下面的问题。

ORA-21000: error number argument to raise_application_error of [xxxx] is out of range

出现此错误的原因如下:

在存储过程中定义的错误代码Number其实并不在Oracle数据库所允许的范围之内。因为Oracle数据库允许自定义的错误代码的范围是-20000 -- -20999

这样,就在Java端可以通过SQLException来捕获异常。

虽然通过SQLException.getMessage()可以捕获到异常的内容,但是这些内容对于开发比较有用。对于客户来说,并不友好,也没有多大意义。

通过SQLException.getErrorCode()可以捕获到自定义的异常错误编号。然后我们就可以通过这个错误编号,自定义相应的Message内容,返回给客户。

下面我们来介绍另一种解决方法:

通过存储过程返回值,你可以直接把错误Message定义在返回值中间。在Java端解析后,可以直接取得Message代码。

示例如下:

If condition then

p_result := 'ERR:MSG2061';

end if;

if substr(p_result, 1, 3) = 'ERR' then

ROLLBACK;

else

p_result = 'OK';

end if;

Java:略去中间的调用存储过程的步骤

if(result != null && result.startsWith("ERR:"))

// 从result中解析出Message_id,显示Message到前台

相关文档:

oracle表空间操作详解

1

2

3作者:   来源:    更新日期:2006-01-04

5

6

7建立表空间

8

9CREATE TABLESPACE data01

10DATAFILE '/ora ......

今天XXX说要把Oracle 里的几张表重新整理下,呵呵 结果阿发现10来张表还真是说多不多说少一点都不少 。因为表里面的commet已经填上了 。偷懒的想法顿时出现嘎嘎

select t.COLUMN_NAME 字段名, t.DATA_TYPE||'('||t.DATA_LENGTH||')' 字段类型,t.NULLABLE 是否为空,t.DATA_DEFAULT 默认值,p.comments 字段说明

fro ......

As you may know, Oracle dropped support for Borland Compilers in OCI

some time back. Well, it isn't all that hard to set up again.

I'm running 9i Release 2 Enterprise Edition on this PC at work and I am

using Borland C++ Builder 6 to 'play' with OCI programming - I intend to

build a set of compo ......

connect by 是结构化查询中用到的,其基本语法是:

select ... from tablename start with 条件1

connect by 条件2

where 条件3;

例:

select * from table

start with org_id = 'HBHqfWGWPy'

connect by prior org_id = parent_id;

简单说来是将一个树状结构存储在一张表里,比如一个表 ......

在Oracle数据库中''与NULL是等价的。均表示空值,而不是类似其他数据库上''表示空串,NULL表示空值。

ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:

1、主键字段(primary key),

2、定义时已经加了NOT NULL限制条件的字段

说明:

1、NULL等价于没有任何值、是未知数。

2、NULL与 ......

自定义异常 oracle,Oracle数据库自定义异常的使用方法相关推荐

  1. Oracle新建数据库的三种方法

    Oracle新建数据库的三种方法 1.通过运行Oracle Database Configuration Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方 ...

  2. oracle新建用户 数据库,oracle创建数据库和用户的方法

    这篇文章主要介绍了oracle创建数据库和用户的方法,mysql和sqlserver创建数据库可以直接通过create database "数据库名",而oracle创建数据库要对 ...

  3. oracle创建数据库的三种方法

    新建Oracle数据库三种方法: 1.通过运行Oracle Database Configuration Assistant创建配置或删除数据库(也可在命令行下输入dbca): 2.用命令行的方式建立 ...

  4. oracle分页的方法,Oracle数据库分页的集中方法(三种方法)

    在 做项目中用到了分页,下面说一下oracle分页的方法; 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; ...

  5. ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法

    ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 10小时前 ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 分类: ASP.NET| ...

  6. 连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!

    连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法! 参考文章: (1)连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA ...

  7. oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法

    <详细讲解Oracle数据库的数据迁移方法>由会员分享,可在线阅读,更多相关<详细讲解Oracle数据库的数据迁移方法(4页珍藏版)>请在人人文库网上搜索. 1.详细讲解 Or ...

  8. oracle简易版创建数据库,浅析新建Oracle数据库的三种方法

    1.通过运行Oracle Database Configuration Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方式建立数据库 3.通过运行自定义的 ...

  9. 修改linux下全局数据库名,linux/unix下修改oracle数据库实例名的方法

    linux/unix下修改oracle数据库实例名的方法 2018年12月10日 | 萬仟网IT编程 | 我要评论 linux/unix下修改oracle实例名的方法 1.检查原来的数据库实例名 $ ...

最新文章

  1. Linux: debian/ubuntu下安装Neo4j
  2. android socket 收不到数据,android Socket服务端接收客户端数据问题
  3. 测试书籍推荐(收集)
  4. 第四范式受邀参加APEC“人工智能创新应用发展国际论坛”
  5. CodeForces - 1316D Nash Matrix(构造+dfs)
  6. Transfer Execute Redirect重定向方法介绍
  7. 2017 Q1网络安全市场报告:未来5年,全球网络安全支出将超过1万亿美元
  8. a标签隐藏真实地址_推荐软件:Clover(窗口标签化工具)
  9. enctype=multipart/form-data 文件上传
  10. js new到底干了什么,new的意义是什么?
  11. ---perl 模块安装方法
  12. 考研操作系统【1.5 操作系统引导与虚拟机】
  13. 变量命名神器Codelf
  14. 微盟集团上半年业绩逆势增长:抢滩在线新经济未来前景获看好
  15. select函数作用
  16. CMDN CLUB#27期:移动教育主题沙龙PPT分享
  17. 51单片机 YF-S201水流量检测传感器的使用
  18. 随手记——静态Flag变量使用不规范导致的重大流程错误
  19. antd 表单 校验、取值、重置
  20. 计算机特点及应用领域阐述,计算机图像识别技术的应用及细节问题阐述与分析...

热门文章

  1. 解决Ubuntu16.04系统中,网络静态ip和DNS设置好了,仍然连接不上外网的原因
  2. 从后台循环数据并展示
  3. 基于DS3231时钟模块的stm32 Hal库程序,源码
  4. import win32con报错解决办法
  5. OpenGL实现Hermite算法绘制三次曲线
  6. android qq微信分享到朋友圈,android实现微信朋友圈和微信好友分享功能
  7. ClickHouse 八(TTL 时效性)
  8. 一个和同事间的小笑话
  9. 找工作时怎么谈待遇?果然是一个老大难
  10. 梅赛德斯-奔驰在上海车展发布EQG概念车