知识点三:MySQL存储过程和局部变量(4,5,6)
存储过程的创建:
创建存储过程的步骤:
- 首先选中数据库
- 改变分隔符,不让分号作为执行结束的标记。(通常情况下,改变分隔符命令 DELIMITER $$)
- 创建存储过程:
CREATE PROCEDURE demo_inout_parameter()
BEGIN
SELECT "HELLOW";
END;
$$
4.恢复分隔符:DELIMITER ;
- 调用存储过程:CALL demo_inout_parameter;

1 1 --4 存储过程 2 2 DELIMITER // 3 3 CREATE PROCEDURE v_test1() 4 4 BEGIN 5 5 SELECT 'HELLO'; 6 6 SELECT 'WORD'; 7 7 END 8 8 // 9 9 1010 DELIMITER ; 1111 CALL v_test1;
测试存储过程
存储过程的三种参数:
IN:输入参数
表示该参数的值必须在调用存储过程之前指定,在存储过程中修改的不能被返回,

1 1 --5 存储过程(2)(变量的定义) 2 2 --测试参数IN 3 3 DELIMITER // 4 4 CREATE PROCEDURE v_test3(IN p_int INT) 5 5 BEGIN 6 6 SELECT p_int; 7 7 SET p_int = p_int +1; 8 8 SELECT p_int; 9 9 END 1010 // 1111 1212 DELIMITER ; 1313 SET @p_int =3; 1414 CALL v_test3(@p_int); 1515 1616 SELECT @p_int;
IN参数测试
OUT:输出函数
该值可在存储过程内部改变,并可返回。

1 1 --6 存储过程(3)(参数类型) 2 2 --测试参数OUT 3 3 DELIMITER // 4 4 CREATE PROCEDURE v_test6(OUT v_out INT) 5 5 BEGIN 6 6 SELECT v_out; 7 7 SET v_out = 25; 8 8 SELECT v_out; 9 9 END 1010 // 1111 1212 DELIMITER ; 1313 SET @v_out =4; 1414 CALL v_test6(@v_out); 1515 1616 SELECT @v_out;
OUT参数测试
INOUT:输入输出参数
该值可以在调用时指定,并可修改和返回。
删除存储过程:
DROP PROCEDURE name;
局部变量:
创建存储过程时使用
定义局部变量的语法:
DECLARE 变量名 数据类型 DEFAULT 默认值