MySQL存储过程
Posted tractors
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL存储过程相关的知识,希望对你有一定的参考价值。
1.delimiter:修改语句结尾符号; //例:delimiter $ 为把;改为$
2.存储过程调用:
call 名称();
3.存储过程示例:
delimiter $$ create procedure test() begin select * from user;end $$ delimiter ; call test();
4.存储过程操作:
(1)查看所有存储过程:show procedure status;
(2)查看指定数据库中的存储过程:show procedure status where db=‘表名‘;
(3)查看指定存储过程源代码:show create procedure 存储过程名;
(3)删除存储过程:drop procedure 存储过程名;
5.声明变量:declare;
1.创建:declare 变量名 varchar(255) default ‘ ‘;
2.修改:set 变量名=变量值;
delimiter $$ create procedure test() begin declare a int; set a = 111; select a; end $$ delimiter ; call test();
3.使用:select into;例:select count(列名) into 变量名 from 表名;
delimiter $$ create procedure test(in id int, out num int) begin select id into num; end $$ delimiter ; call test(100,@num); select @num;
6.存储过程参数:
三种类型:create procedure 名称(模式,参数名,参数类型(大小));
(1)in:参数传入;在存储过程内可直接使用,无需再次声明;
delimiter $$ create procedure test(in id varchar(255)) begin select id; end $$ delimiter ; call test(100);
(2)out:参数传出;
delimiter $$ create procedure test(in id varchar(255), out num int) begin select id; set num = 100; end $$ delimiter ; call test(100,@num); select @num;
(3)inout:传入后传出;
delimiter $$ create procedure test(inout num1 int, num2 int) begin set num1=num1+num2; end $$ delimiter ; set @a=20; call test(@a, 10); select @a;
以上是关于MySQL存储过程的主要内容,如果未能解决你的问题,请参考以下文章