MySQL-存储过程

发表于 MySQL 分类,标签: MySQL
-- 存储过程和函数介绍
-- 存储过程和函数是实现经过编译并存储在数据库中的一段sql语句的集合。
-- 存储过程和函数的区别:
-- 函数必须有返回值,而存储过程没有。
-- 存储过程的参数可以是in,out,inout类型;函数的参数只能是in。

-- 存储过程的优点:
-- 存储过程只在创建时进行编译,sql语句没执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
-- 简化复杂操作,结合事务仪器封装。
-- 复用性
-- 安全性高,可指定存储过程的使用权。

-- 创建和调用存储过程
-- 用MySql客户端delimiter命令来把语句定界符从;变为//。这就允许用在程序体中的;定界符被传递到服务器而不是被MySql自己来解释。

DELIMITER //
CREATE PROCEDURE 存储过程名(参数列表)
BEGIN
-- 有效的sql语句...
END //
DELIMITER ;

-- 调用
CALL 存储过程名(参数列表)

-- 示例
DELIMITER //
CREATE PROCEDURE proc1(OUT result INT)
BEGIN
	SELECT COUNT(id) INTO result FROM emp;
END //

DELIMITER ;
-- 调用
CALL proc1(@a);
SELECT @a;


0 篇评论

发表我的评论