存储过程以及函数

2019-05-27  本文已影响0人  蛋皮皮652

1.首先我在navicat中创建一个订单表和插入两条数据

CREATE TABLE shop_order (

  `id` int(11) NOT NULL AUTO_INCREMENT primary key COMMENT '订单ID',

  `good_id` int(11) NOT NULL COMMENT '商品ID',

  `order_amount` decimal(11,2) NOT NULL COMMENT '订单金额',

  `status` varchar(10) NOT NULL COMMENT '订单状态:0:交易待支付,1:交易支付中,2:交易成功、3:交易关闭',

  `create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',

  `update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '更新时间'

);

insert into shop_order(good_id,order_amount,status,create_date,update_date)values(1,99.00,0,NOW(),NOW());

insert into shop_order(good_id,order_amount,status,create_date,update_date)values(3,126.00,0,NOW(),NOW());

这里有三条数据

2.在查询的sql处创建一个存储过程

//创建存储过程

DELIMITER //

CREATE PROCEDURE myFist_proc() ## 创建存储过程

BEGIN

UPDATE

    `shop_order` AS order_

  SET

    order_.`status` = '3'

  WHERE

    1=1

  AND

    order_.status = '0'

  AND

    TIMESTAMPDIFF(MINUTE,order_.`create_date`,NOW()) > 30;

END;//

DELIMITER;

这段的意思是当创建时间与当前时间相差30分钟的时候将状态为0的状态修改为3

3.执行这个函数(存储过程)

call myFist_proc();

执行 状态改变

以后就可以在这里写常用的函数来处理了!

上一篇 下一篇

猜你喜欢

热点阅读