oracle pl sql 异常,Oracle:pl/sql 异常处理[转]

Oracle:pl/sql 异常处理[转]

pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。

pl/sql 异常处理的概念和术语

在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:

u       由系统产生的错误(“ out of memory ”或“ duplicate value in index ”)

u       用户行为导致的错误

u       应用程序给用户的一个警告

pl/sql 用一种异常句柄的结构来捕捉和响应错误。正是有了异常句柄的存在,我们能很方便的分离异常处理代码与可执行代码。与线性的代码相比,为了处理异常,异常句柄提供了一种类似事件驱动的模式;换句话说,就是不管一种特定的错误在何时何地发生,它都将被同一个代码处理。

当一个错误出现后,无论它是系统还是程序产生的,都将导致一个异常。之后,可执行程序被中断,控制权转移给异常处理代码。处理完异常后,程序将不会回到先前被中断的位置,相反的,控制权被交给了当前程序的外围模块(可能是程序,也可能是系统)。

procedure jimmy

is

new_value varchar(35)

begin

|--------new_value:=old_value || ‘-new’;

|          if new_value like ‘like%’

|          then

|                 …..

|          end if;

|   exception

|----- à        when value_error

then

…..

end;

因为 old_value 是一个未被定

相关文档:

SQL在建立与服务器的连接时出错的解决方

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

刚刚安装的数据库系统,按照� ......

作为备忘吧.在机房里输入的.

/*CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,

Sname CHAR(20) UNIQUE,

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20)

);*/

/*CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY,

Cname CHAR(40),

Cpno CHAR(4),

Credit SMALLINT,

&n ......

update CHELIANG_MINGDAN set clmd_yunxuzaizhong = cast(clmd_yunxuzaizhong/1000 as decimal(14,4)) where clmd_yunxuzaizhong is not null

update CHELIANG_MINGDAN set clmd_carweight = cast(clmd_carweight/1000 as decimal(14,4)) where clmd_carweight is not null ......

SQLServer和Oracle是大家经常用到的数据库,在此感谢作者总结出这些常用函数以供大家参考。

数学函数:

1.绝对值

S:SELECT abs(-1) value

O:SELECT abs(-1) value from dual

2.取整(大)

S:SELECT ceiling(-1.001) value

O:SELECT ceil(-1.001) value from dual

3.取整(小) ......

ORDER BY 排序

ASC 升序(默认)

DESC 降序

select * from s_emp order by dept_id , salary desc

部门号升序,工资降序

关键字distinct也会触发排序操作。

select * from employee order by 1; //按第一字段排序

NULL被认为无穷大。order by 可以跟别名。

select table_name ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值