MYSQL进阶学习笔记二:MySQL存储过程和局部变量!(视频序号:进阶_4-6)
知识点三:MySQL存储过程和局部变量(4,5,6)
存储过程的创建:
创建存储过程的步骤:
- 首先选中数据库
- 改变分隔符,不让分号作为执行结束的标记。(通常情况下,改变分隔符命令 DELIMITER $$)
- 创建存储过程:
CREATE PROCEDURE demo_inout_parameter()
BEGIN
SELECT "HELLOW";
END;
$$
4.恢复分隔符:DELIMITER ;
5. 调用存储过程:CALL demo_inout_parameter;
1 --4 存储过程 2 DELIMITER // 3 CREATE PROCEDURE v_test1() 4 BEGIN 5 SELECT 'HELLO'; 6 SELECT 'WORD'; 7 END 8 // 9 10 DELIMITER ; 11 CALL v_test1;
存储过程的三种参数:
IN:输入参数
表示该参数的值必须在调用存储过程之前指定,在存储过程中修改的不能被返回,
1 --5 存储过程(2)(变量的定义) 2 --测试参数IN 3 DELIMITER // 4 CREATE PROCEDURE v_test3(IN p_int INT) 5 BEGIN 6 SELECT p_int; 7 SET p_int = p_int +1; 8 SELECT p_int; 9 END 10 // 11 12 DELIMITER ; 13 SET @p_int =3; 14 CALL v_test3(@p_int); 15 16 SELECT @p_int;
OUT:输出函数
该值可在存储过程内部改变,并可返回。
1 --6 存储过程(3)(参数类型) 2 --测试参数OUT 3 DELIMITER // 4 CREATE PROCEDURE v_test6(OUT v_out INT) 5 BEGIN 6 SELECT v_out; 7 SET v_out = 25; 8 SELECT v_out; 9 END 10 // 11 12 DELIMITER ; 13 SET @v_out =4; 14 CALL v_test6(@v_out); 15 16 SELECT @v_out;
INOUT:输入输出参数
该值可以在调用时指定,并可修改和返回。
删除存储过程:
DROP PROCEDURE name;
局部变量:
创建存储过程时使用
定义局部变量的语法:
DECLARE
变量名 数据类型 DEFAULT 默认值
这都是我对自己学习过程的理解,如有错误请指出!我算一个小白了。