mysql的存储过程

来源:互联网 发布:阿里云手机空间 编辑:程序博客网 时间:2024/06/10 23:01

存储过程就是一条或多条的sql语句的集合

当对数据库进行一些列复杂操作时,存储过程可以将这些复杂操作封装成一个代码块,以便重复使用

创建存储过程
DELIMITER // 把节俗妇换成//
CREATE PROCEDURE Proc()
BEGIN
SELECT * FROM account;
END;
DELIMITER ;

调用
call Proc();

删除
DROP PROCEDURE Proc;

查看
SHOW PROCEDURE STATUS\G

声明变量
SET @name=”account”;
mysql>select @name;

MySQL存储过程的参数
三种参数类型
IN OUT INOUT
IN参数例子
参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不被返回,为默认值

DELIMITER //  CREATE PROCEDURE demo(IN p1 int)  BEGIN   SELECT p1;   SET p1=2;   SELECT p1;   END;   //  DELIMITER ;SET @p1=1;  CALL demo(@p1);select @p1

这里写图片描述

OUT参数例子
输出参数:该值可在存储过程内部被改变,并可返回

DELIMITER //  CREATE PROCEDURE demo2(OUT p2 int)  BEGIN SELECT p2;  SET p2=2;  SELECT p2;  END;  //  DELIMITER ; SET @p2=1;  CALL demo2(@p2);select @p2;

这里写图片描述

INOUT参数例子
输入输出参数:调用时指定,并且可被改变和返回

DELIMITER //   CREATE PROCEDURE demo3(INOUT p3 int)   BEGIN SELECT p3;  SET p3=2;  SELECT p3;   END;  //   DELIMITER ;  SET @p3=1;  CALL demo3(@p3) ; select @p3;

这里写图片描述

原创粉丝点击