mysql 存储过程创建程

数据库 waitig 435℃ 百度已收录 0评论

创建存储过程的语法格式:

create procedure  存储过程名(参数1,参数2.。。。。)

begin

    //sql代码

end;

存储过程参数分为输入参数(in)、输出参数(out)、输入输出(output)   在参数不输入参数类型默认为输入(in)

如果存储中begin 和end 中只含有一条语句的以省略begin和end

说明:(1)存储过程中,可以有各种编程元素:变量,流程控制、函数调用

(2) 还可以有增删改查等mysql语句

(3)select(或show、或desc)会作为存储过程执行后的“结果集”返回;

(4)形参是可以设定数据的“进出方向的(既是参数为输入(in)、输出(out)、还是输入输出参数(output))”

创建简单的存储过程:

1、无参的语句的存储过程

create procedure p1()

begin

SELECT ‘procedure_test’;

end;

含有一条语句的也可以写成如下样式

create procedure p1()
SELECT ‘procedure_test’;

调用p1存储过程:call p1();

2、创建含有参数的存储过程

create procedure p2(a VARCHAR(30))
BEGIN
if a="yyyy" THEN
SELECT test.name,test.pwd from user_info where test.name=a;
ELSE
SELECT test.name,test.pwd from user_info AS test;
END if;
END;

调用储存过程

//设置传的参数值,将参数出入存储过程调用处

set @df="uu";

CALL p2(@df);

set @df="yyyy";

CALL p2(@df);

3、含有输出参数的存储过程:

create procedure p3(a INT,out b INT)
BEGIN
declare i int DEFAULT 1;//使用declare声明变量

aa:LOOP//sql中的循环  aa循环为标签
SET b=i+a;
IF b>a THEN
LEAVE aa;
END if;
END LOOP;
SELECT b;
END;

调用方式:

set @inParam=9;//设置输入参数
set @outParam=0;//设置输出参数的初始值
CALL p3(@inParam,@outParam);//调用存储过程传参数
SELECT @outParam;//查询存储过程结果


本文由【waitig】发表在等英博客
本文固定链接:mysql 存储过程创建程
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)