|
|
|
|
移动端

1.3.3 出错处理

《Oracle PL/SQL程序设计(第6版)(上下册)》本书基于Oracle数据库12C,从用PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、构造PL/SQL应用程序、高级PL/SQL等6个方面详细而系统地讨论了PL/SQL以及如何有效地使用它。本节为大家介绍出错处理。

作者:方鑫 译来源:人民邮电出版社|2017-09-06 17:52

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

1.3.3 出错处理

无论是发现错误还是处理错误,PL/SQL语言都有一个强大的机制。在下面的过程中,我们根据ID获得一个账户的名称和余额,随后判断余额是否过少,如果过少,就要显式地引发异常,终止过程的继续执行:

  1. 1 PROCEDURE check_account (  
  2. 2 account_id_in IN accounts.id%TYPE)  
  3. 3 IS  
  4. 4 l_balance_remaining NUMBER;  
  5. 5 l_balance_below_minimum EXCEPTION;  
  6. 6 l_account_name accounts.name%TYPE;  
  7. 7 BEGIN  
  8. 8 SELECT name  
  9. 9 INTO l_account_name  
  10. 10 FROM accounts  
  11. 11 WHERE id = account_id_in;  
  12. 12  
  13. 13 l_balance_remaining :account_balance (account_id_in);  
  14. 14  
  15. 15 DBMS_OUTPUT.PUT_LINE (  
  16. 16 'Balance for ' || l_account_name ||  
  17. 17 ' = ' || l_balance_remaining);  
  18. 18  
  19. 19 IF l_balance_remaining < 1000 
  20. 20 THEN  
  21. 21 RAISE l_balance_below_minimum;  
  22. 22 END IF;  
  23. 23  
  24. 24 EXCEPTION  
  25. 25 WHEN NO_DATA_FOUND  
  26. 26 THEN  
  27. 27 -- No account found for this ID  
  28. 28 log_error (...);  
  29. 29 RAISE;  
  30. 30 WHEN l_balance_below_minimum  
  31. 31 THEN  
  32. 32 log_error (...);  
  33. 33 RAISE VALUE_ERROR;  
  34. 34 END; 

在下面的表格中,我们详细地对代码的异常处理进行了分析。

第6章会带我们全面了解PL/SQL的异常处理机制。

当然,关于PL/SQL,我们还有许多可说的——这就是为什么我们这本书有现在这么厚了!前面的几个示例,应该已经给了我们一些感觉:PL/SQL代码长什么样,它的一些最重要的语法元素,以及它的易读与易写。

喜欢的朋友可以添加我们的微信账号:

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通JavaScript动态网页编程(实例版)

本书通过大量实例代码,以ECMA-262版本3为基础,结合JavaScript 1.5和JavaScript 5.5,由浅入深、循序渐进地介绍了JavaScript知识要点与编...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊