友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
一世书城 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

SQL 21日自学通(V3.0)(PDF格式)-第94章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






         close  payment_cursor 



分析 



     在上一个例子中使用了 WHILE…LOOP                       来对指针进行翻阅                 并且在当条件 



payment  start  proc1        or 



     SQL》  sta  proc1            or 



     SQL》 @proc1 



注  PL/SQL    脚本语言可以使用 START             命令或@字符来运行  它也可以被其它的 PL/SQL 



    脚本     SHELL 脚本或其它的程序调用 



将输入返回给用户 



     尤其是在捕获了错误的时候                 你可以会希望输出信息给用户告诉他出现了什么错误 



你可以转送已有的错误信息                  你也可以显示你所定制的错误信息                      对于用户来说这会与错 



误代码更容易理解             也许你想的是当在错误产生时让他们与数据库管理员联系而不是给他 



们尽可以准确的信息 



     PL/SQL  在它的语法部分中并没有提供直接的方式来显示输出                                 但是它可以让你来调 



用一个对该语句块服务的包  这个包是由 DBMS_OUTPUT  来调用的 



EXCEPTION 



    WHEN  zero_divide  THEN 



     DBMS_OUTPUT。put_line('ERROR:    DIVISOR  IS  ZERO。    SEE  YOUR  DBA。') 



分析 



     ZERO_DIVIDE 是 ORACLE 的一个预定义的异常  有许多在程序运行中产生的常见的 



错误都被预定义为异常并且可以被默认地激活  也就是说你不必在编程的过程中手动将其 



激活 



                                                                                       394 


…………………………………………………………Page 395……………………………………………………………

SQL 21  日自学通(V1。0)                                                                翻译人     笨猪 



     如果在这个语句块运行的过程中产生的异常  用户将会看到 



INPUT 



     SQL》 @block1 



     ERROR:    DIVISOR  IS  ZERO。    SEE  YOUR  DBA。 



     PL/SQL procedure successfully pleted。 



     是不是这样的错误信息比下边的错误信息更友好 



输入/输出 



     SQL》 @block1 



     begin 



     * 



     ERROR at line 1: 



     ORA…01476: divisor is equal to zero 



     ORA…06512: at line 20 



在 PL/SQL  中的事务控制 



     在第 11 天中的 事务控制  中 我们已经讨论了事务控制命令 MIT                                     ROLLBACK 



SAVEPOINT      这些命令可以让程序员在在事务向数据库中进行写操作时加以控制  在多数 



时候所进行的操作是需要撤消 



语法 



     BEGIN 



         DECLARE 



           。。。 



         BEGIN 



             statements。。。 



             IF  condition  THEN 



                 MIT; 



             ELSE 



                 ROLLBACK; 



             END  IF; 



                                                                                           395 


…………………………………………………………Page 396……………………………………………………………

SQL 21  日自学通(V1。0)                                                  翻译人    笨猪 



            。。。 



        EXCEPTION 



            。。。 



        END; 



    END; 



    PL/SQL  的一个好处就是你可以用自动地执行事务控制命令来代替对大型事务的不断 



监控— — 这是非常单调和乏味的 



让所有的事在一起工作 



    到目前为止 我们已经介绍了 PL/SQL              你已经熟悉了它所支持的数据类型以及 PL/SQL 



语句块的主要特性          你已经知道了如何定义一个局部变量  常量和指针  你也已经知道了 



如何在一个 PROCDURE  部分          指针的操作部分和
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!