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 名称(模式,参数名,参数类型(大小));

  (1in:参数传入;在存储过程内可直接使用,无需再次声明;

delimiter $$
create procedure test(in id varchar(255))
begin
select id;
end $$
delimiter ;
call test(100);

  (2out:参数传出;

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;

  (3inout:传入后传出;

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存储过程的主要内容,如果未能解决你的问题,请参考以下文章

mysql中的存储过程怎么使用

mysql 创建存储过程问题

MYSQL存储过程注释详解

MYSQL存储过程注释详解

mysql 存储过程总结(一)

mysql中如何创建存储过程