一 存储过程的概念:
(1)定义:
*存储过程是PL/SQL语句书写的过程,这个过程经过编译和优化后存储在数据库服务器中,可以被反复调用,运行速度较快。
*存储过程简单来说,就是为以后使用而保存的一条或多条MySql语句的集合(mysql必知必会)。
(2)存储过程的优点(简单、安全、效率高):
*由于存储过程不像解释执行的SQL语句那样在提出操作时才进行语法分析和优化工作,因而运行效率更高,它提供了在服务器端快速进行SQL语句的有效途径。
*存储过程降低了客户机与服务器间的通信量。客户机上的应用程序只需要通过网络向服务器发出存储过程的名字和参数,就可以让DBMS执行许多条SQL语句,并执行数据处理,只有最终结果返回给客户机。
*简化对变动的管理(有利于集中控制和维护)。可以把企业规则的运算程序写入存储过程放入数据库服务器,由DBMS管理,既有利于集中控制,又能方便的进行维护。当规则发生改变时,只需更改存储过程,无需修改其他应用程序。
(3)缺陷:
*存储过程的编写比基本SQL语句复杂,需要更高技术和丰富经验。
*未必有权限创建存储过程。许多DBA限制存储过程的创建权限,普通用户只能使用不能创建。
二 存储过程和函数的区别:
(1)本质上没有区别,只是函数只能返回一个变量(通过return),存储过程可以返回多个(mysql:通过OUT或INOUT),存储过程可以返回参数,而函数只能返回值或者表对象。
(2)一般来说,存储过程实现的功能要复杂一点,而函数实现的功能针对性更强,函数的限制比较多。
(3)存储过程一般作为一个独立的部分来执行;而函数可以作为查询语句的一部分来调用,由于函数可以返回一个表对象,因此可以在查询语句中位于FROM关键字的后面。
三 存储过程的创建、执行和删除: