mysql 存储过程创建程

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

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;//查询存储过程结果




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值