阅读量:0
MySQL 5 存储过程编写实践涉及创建、调试和优化存储过程,以实现数据库操作的自动化和复用性。
MySQL 存储过程基础
1. 存储过程简介
存储过程是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象,它是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数来调用执行。
2. 存储过程的优点与缺点
1、优点:
封装并隐藏复杂的商业逻辑。
可以回传值,并可以接受参数。
用于数据检验,强制实行商业逻辑等。
2、缺点:
定制化于特定的数据库上,切换到其他厂商的数据库系统时需要重写。
性能调校与撰写受限于各种数据库系统。
存储过程的创建和调用
1. 创建存储过程
CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body
sp_name
是存储过程的名称,proc_parameter
是过程参数,routine_body
是过程体。
2. 调用存储过程
CALL sp_name[(arguments)];
关键语法与实例
1. 声明语句结束符
DELIMITER $$
2. 声明存储过程
CREATE PROCEDURE demo_in_parameter(IN p_in int) BEGIN -SQL 语句 END$$
3. 变量赋值与定义
SET @p_in=1; DECLARE l_int int unsigned default 4000000;
4. 实例:删除给定球员参加的所有比赛
DELIMITER $$ CREATE PROCEDURE delete_matches(IN p_playerno INTEGER) BEGIN DELETE FROM MATCHES WHERE playerno = p_playerno; END$$ DELIMITER ;
相关问题与解答
1、问题一:存储过程和函数有什么区别?
解答:存储过程是为了完成特定功能的SQL语句集,而函数是返回一个值的SQL语句集,存储过程可以通过OUT或INOUT参数返回多个值,而函数只能通过RETURN子句返回一个值。
2、问题二:如何在MySQL中调试存储过程?
解答:MySQL没有内置的存储过程调试工具,但可以通过创建调试表,在包体中各个流程点插入记录来观察程序执行流程,确保存储过程的编译正确也是非常重要的。
以上就是关于“mysql5存储过程编写实践”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!