mysql有类似dbms_output.pu_line();_dbms_output.put_line()

dbms_output作为ORACLE的一个内置包,是作为输出信息的集合包:

如果想要dbms_output.put_line()等方法的输出能够在客户端看见的话,请

set serverouput on;

例子:

declare

empname emp.ename%type;

sno emp.empno%type;

iCount int:=0;

begin

sno:='7369';

empname:='jade';

dbms_output.put_line('employee no is '||sno||' employee name is '||empname);

select empno,ename into sno,empname from emp where empno='7369';

dbms_output.put_line('employee no is '||sno||' employee name is '||empname);

select count(*) into iCount from emp where sal>2000;

if iCount>0   then

dbms_output.put_line('有工资大于2000的人的信息'||iCount);

else

dbms_output.put_line('没有');

end if;

end;

异常

如同JVM一样,Oralce是最终异常处理人员;但是他们的处理结果对用户而言是不好理解的,因为他们的语言是如此地不友好,如此的ugly;

所以我们最好是自己捕获处理异常;

步骤:

1.声明异常

2.引发异常

3.处理异常

类型:

1, 预定义的异常:不需要显式声明;dbms_standard程序包里有定义;

例子:     dbms_output.put_line('employee job is '||empjob);

exception

when no_data_found then

dbms_output.put_line('no data return');

如果不处理异常,程序就会报告Error而不是异常,不同于Java;

但是程序流程是一样的,出错后,后面的代码都不再执行,直接退出;

用户处理的话,出错后,处理后,其他的可以继续执行错误处理后面的代码,这和Java一样;

When others then

处理动作;

这里的others表示未知的异常发生时;这是个很保险的方法,类似用Exception的效果;其他的异常都是others的一个子类型;

2, 非预定义的异常:数据库本身不知道不能控制的,比如操作系统崩溃;

Oralce服务器错误

网络或者机器I/O错误

3, 用户定义的异常:有个类型叫exception类型

例子:

1   declare

2         dup_value exception;

3         icount int:=0;

4   begin

5         select count(*) into icount from place

6             where placeid='001';

7         if icount>0 then

8                raise dup_value;

9         end if;

10   exception

11         when dup_value then

12              dbms_output.put_line('already have the note');

13* end;

already have the note

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值