首页 > 技术文章 > 存储函数语法

Dasnl 2021-04-29 17:28 原文

create    procedure   存储名(参数模式    参数    参数类型)

begin   

            存储体

end

参数模式分3中

in   参数可以输出

out  参数可以返回

inout  参数可以输出和返回

delimiter  结束标记

调用

call   储存名()结束标记

案例   创建储存过程实现   根据女神名,查询对应男友信息

delimiter $

create  procedure    mys1(in  name   varchar(20))

begin

    select   *  from   boys  bo

     right  join   beauty b

 on b.boyfriend_id  = bo.id 

where b.name = name ;

end $

 

 

案例2根据女生名,返回多个男神名.

CREATE PROCEDURE mys5(IN NAME VARCHAR(20),OUT boyname VARCHAR(20))
BEGIN
SELECT
bo.boyName INTO boyname
FROM
boys bo
INNER JOIN
beauty b
ON
b.boyfriend_id = bo.id
WHERE
b.name = NAME ;

 

END $

call  mys5('周芷若',@xxx)$

select  @xxx;

 

 

案例3   输入a和b   输出a和b的倍数

   create  procedure    mys10(inout a int  ,inout b int)

begin

set a = a*2;

set b= b*2;

end $

声明 a和b的值

set  @m =10 ;

set  @n=20;

call   mys10(@m,@n)$

 

删除存储的语法

drop   procedure  存储名

查看存储过程

show   create   procedure  存储名.

 

推荐阅读