易截截图软件、单文件、免安装、纯绿色、仅160KB

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 是一个未被定


相关文档:

用mysql源码进行SQL解析

http://blog.csdn.net/iamstillzhang/archive/2007/04/01/1548377.aspx
用mysql源码进行SQL解析
Mysql是通过yacc进行SQL语句解析的,这里介绍一下如何使用mysql的源码进行SQL语句解析。由于Mysql的源代码注释比较少,而且缺少资料,所有些地方研究不够深入。
1        Filed介绍
MY ......

sql 表修改列

 create table #a
(
a int identity(1,1) primary key,
b int default(0) not null,
c nvarchar(20)
)
insert into #a(c)
select 'a' union all
select 'b' union all
select 'c' union all
select 'd' union all
select 'e'
select * from #a
alter table #a drop constraint DF__#a_____________b__12 ......

几个删除重复记录的SQL语句

几个删除重复记录的SQL语句
2009-03-02 10:08
比如现在有一人员表 (表名:peosons)
若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来
select   p1.*   from   persons   p1,persons   p2   where   p1.id<>p2.id &nb ......

SQL和ORACLE函数比较

 
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.取整(小) ......

Oracle SQL语句

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 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号