oracel存储过程&&异常

1.存储过程:【百度百科】一组为了完成特定功能的SQL语句集,经过编译后存储在数据库中,用户通过特定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。【老师总结】存储过程是指用于特定操作的PL/SQL块,是由控制流和SQL语句书写的过程。存储过程经编译和SQL优化后存储在数据库服务器中,使用时只要调用即可。在oracle数据库中,若干个有联系的存储过程,可以组合在一起构成包。

2.sql语句:对数据库进行操作。

oracel存储过程&&异常_第1张图片

这个是我定义的存储过程和异常处理!

oracel存储过程&&异常_第2张图片

数据库表信息

call book_info('红楼梦');

oracel存储过程&&异常_第3张图片

oracel存储过程&&异常_第4张图片

然后调用这个函数,因为我的红楼梦在数据库里面有2条记录,满足我定义的异常条件,所以就会抛出异常;

oracel存储过程&&异常_第5张图片

oracel存储过程&&异常_第6张图片

当我参数发生变化时,call book_info('红楼梦红楼梦');   因为我的数据库表里面没有此记录,所以就会报出数据不存在的异常!

 

总结:

使用存储过程的优点:

存储过程:存储过程是指用于特定操作的PL/SQL块,是由控制流和SQL语句书写的过程。存储过程经编译和SQL优化后存储在数据库服务器中,使用时只要调用即可。在oracle数据库中,若干个有联系的存储过程,可以组合在一起构成包。
存储过程的优点:
1. 存储过程是预编译过的,并且经优化后存储于SQL内存中,使用时无需再次编译,提高了工作效率;
2. 存储过程的代码直接存放于数据库中,一般由客户端直接通过存储过程的名字进行调用,减少了网络流量,加快了系统执行速度;
3. 使用存储过程可以减少SQL注入式攻击,提高了系统的安全性,执行存储过程的用户要具有一定的权限才能使用存储过程;
4. 在同时进行主、从表及多表间的数据维护及有效性验证时,使用存储过程比较方便,而且可以有效利用SQL中的事务处理机制;
5. 使用存储过程,可以实现存储过程设计和编码工作分开进行,只要将存储过程名、参数及返回信息告诉编程人员即可。

 

sql语句的编译原理:http://www.uol123.com/2013/01/26/sql语句编译原理.html

 

你可能感兴趣的:(oracel存储过程&&异常)