知识点三:MySQL存储过程和局部变量(4,5,6)
存储过程的创建:
创建存储过程的步骤:
- 首先选中数据库
- 改变分隔符,不让分号作为执行结束的标记。(通常情况下,改变分隔符命令 DELIMITER $$)
- 创建存储过程:
CREATE PROCEDURE demo_inout_parameter()
BEGIN
SELECT "HELLOW";
END;
$$
4.恢复分隔符:DELIMITER ;
- 调用存储过程: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;
IN参数测试
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;
OUT参数测试
INOUT:输入输出参数
该值可以在调用时指定,并可修改和返回。
删除存储过程:
DROP PROCEDURE name;
局部变量:
创建存储过程时使用
定义局部变量的语法:
DECLARE 变量名 数据类型 DEFAULT 默认值