1.MySQL的存储过程
(1)存储过程是一组为了完成特定功能的SQL语句块,经编译后存储在数据库中,用户通过指定存储过程的名称并给定参数(如果该存储过程带有参数)来调用并执行它,存储过程能重复使用,这样可以大大减少数据库开发人员的工作量。
存储过程主要有以下优点:
①执行效率高:存储过程编译后存储在数据库服务器端,可以直接调用从而提高了SQL语句的执行效率。
②灵活:存储过程可以用结构化语句编写,可以完成较复杂的判断和运算。
③数据独立:用户在程序中调用存储过程,存储过程能把数据同用户程序隔离开,其优点是当数据表结构变化时,可以随时修改存储过程,不用修改程序源代码。
④安全:存储过程可被作为一种安全机制来充分利用,系统管理员通过设置存储过程的访问权限,从而实现相应数据的访问权限限制,避免了用户对数据表的直接访问,保证了数据的安全。
⑤降低网络流量:当在客户机上调用该存储过程时,网络中传送的只是该调用语句,而不是这一功能的全部代码,从而大大降低了网络负载。
(2)DELIMITER命令。DELIMITER命令用于更改MySQL语句的结束符,如将默认结束符“;”更改为“$$”,避免与SQL语句默认结束符相冲突,其语法格式为:
DELIMITER <自定义结束符>
DELIMITER $$在存储过程编写结束后恢复使用MySQL的默认结束符“;”,例如:
DELIMITER;
(3)创建简单存储过程。创建存储过程的语法格式为: