8存储过程
七、存储过程
delimiter 分界符 procedure 存储过程 declare 声明 set 给变量赋值
DELIMITER // --将程序结束符改为//
CREATE PROCEDURE pro() --创建存储过程
BEGIN
DECLARE k INT; --声明变量,不用加@,赋值可加@
SET @n=0;
SET k=0;
REPEAT --循环执行,如do
SET @n=k+@n;
SET k=k+1;
UNTIL k>100 --跳出循环,如while
END REPEAT; --结束,循环语句
SET @m=150;
END//
DELIMITER ; --将程序结束符转化成默认符
(注:delimiter后使用空格)
--调用存储过程
CALL pro;
--输出过程的结果
SELECT @n,@m; --外部变量要@
--删除储存过程
DROP PROCEDURE pro;
另:
DELIMITER //
CREATE PROCEDURE pro(in k INT) --传入的参数不可加@ in:传入的参数,out:传出的参数
BEGIN inout:传入并传出的参数
DECLARE n INT;
SET @n=0;
SET @n=k+5; --赋值时参数也不可急加@
END//
DELIMITER ;
CALL pro(5);
SELECT @n; --外部访问必需加@