新手讲堂(44)
软件世界
存储过程
在使用数据库管理系统时我们不能不提到存储过程这项技术,本文将对什么是存储过程、存储过程的优点、应用场合等几个方面进行描述,希望初学者能对它有一个整体的了解。
什么是存储过程
存储过程是由一组SQL语句和可选控制流语句的预编译集合,并以一个名称存储作为一个单元处理。调用存储过程并不返回一个执行状态,也不能直接用在表达式中。存储过程允许用户声明变量、可以接受参数、输出参数、返回单个或多个结果集以及返回值。存储过程并不存放在客户机上而是存放在数据库中,由应用程序调用执行。当备份或还原数据库时,存储过程也一同被备份或还原。
应用场合
虽然存储过程可以用在任何使用SQL 语句的地方,但也并不是建议把所有的SQL语句都写成存储过程。存储过程一般应用在以下的一些场合:
1.对经常使用的一组SQL语句,或者仅仅是每次调用时的条件不同。此时可以将它们设计成存储过程,通过调用时输入参数来实现。比如对数据的查询、统计等。
2.可以将用户的业务逻辑设计到存储过程中,这样即使是用户的业务逻辑改变时,前台的程序也不必改变,只要修改相关的存储过程即可。所谓业务逻辑就是处理用户业务的特定逻辑,比如用户的报表计算公式就可以看成是一个业务逻辑。
3.对于那些复杂的SQL语句,包括具有复杂的逻辑,需要中间结果的查询统计,具有很多代码等,这些都应设计成存储过程。
4.受到权限限制的SQL语句。
存储过程的优点
我们为什么要用存储过程而不用SQL语句呢,这就要了解一下它相对后者的优点:
1.简化复杂的语句;
2.执行速度快;
3.减少网络流量,提高程序的执行效率;
4.可作为安全机制使用。