怎么用mysql存储过程 mysql怎么写存储过程

mysql怎样使用存储过程

给你个例子

创新互联是一家专注于成都网站设计、成都网站制作与策划设计,芙蓉网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:芙蓉等地区。芙蓉做网站价格咨询:18982081108

drop procedure if exists call proc_temp;

delimiter $ //存储过程从$ 开始

create procedure proc_temp(

IN startDate VARCHAR(20),//设置传入的变量,没有可以不要传

IN endDate VARCHAR(20))

BEGIN

DECLARE dflag INT(11); //这里可以定义你需要的仅在存储过程里使用的变量

SET dflag = 0;//初始化

select * from table where time between startDate and endDate ;//你的sql语句,可以一句可以多句

END $//存储过程从$ 结束

delimiter ;

当上面的选中运行后没问题,可以选中下面的call xx 运行,上面的代码没有改动的话只需要运行一次

MySQL存储过程二

上一节存储过程封装的都是简单的select语句,直接使用被封装的语句就能完成。所以存储过程往往应用于更复杂的业务规则处理时更有效

看一个例子

这个例子使用元素比较多,解释一下:

COMMENT为表添加了一句注释;

-- 单行注释,注释跟在后面的内容,需要注意-- 后需要加一个空格才能生效;

(#注释内容        /*注释内容*/  这两种方法也能进行注释)

Declare用来声明变量,一句declare只能声明一个变量,变量必须先声明后使用

If...Then是进行条件判断的,基本语句如下:

If ... Then ... Else ... End If;

这个存储过程完成了订单合计,并判断该订单是否需要增加营业税。taxable是一个布尔值(如果要增税为真,否则为假)。在存储体中定义了两个局部变量。并将结果存储到局部变量total中。if语句检查taxable是否为真,如果为真,则用另一条select语句增加营业税。最后将total结果保存到ototal中。

调用结果如下:

检查存储过程

SHOW  CREATE  PROCEDURE  过程名;

为了获得包括何时、由谁创建等详细信息的存储过程列表,使用

Show procedure status;  -- 会列出所有存储过程

可以添加过滤,比如

存储过程循环语句

1. while

WHILE (表达式)  DO 

...

END WHILE;

看一个例子

创建了一个循环存储过程,重复向human插入5条记录。下面调用看一下结果

2.repeat

基本语句:

Repeat ...until 条件...END  Repeat;

同样操作,使用repeat执行如下

如何通过用MySQL怎么创建存储过程?

创建存储过程

CREATE PROCEDURE 存储过程名()

一个例子说明:一个返回产品平均价格的存储过程如下代码:

CREATE PROCEDURE productpricing()

BEGIN

SELECT Avg(prod_price) AS priceaverage

FROM products;

END;

//创建存储过程名为productpricing,如果存储过程需要接受参数,可以在()中列举出来。即使没有参数后面仍然要跟()。BEGIN和END语句用来限定存储过程体,过程体本身是个简单的SELECT语句


网站标题:怎么用mysql存储过程 mysql怎么写存储过程
网站链接:http://pwwzsj.com/article/dodcphh.html