码迷,mamicode.com
首页 > 其他好文 > 详细

超市购买自动编号

时间:2018-01-19 11:36:06      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:foreign   cat   div   name   user   *打印   取出   date   update   

/*
SQLyog Ultimate v12.09 (64 bit)
MySQL - 5.7.20-log : Database - lianxi
*********************************************************************
*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=‘‘*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=‘NO_AUTO_VALUE_ON_ZERO‘ */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`lianxi` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `lianxi`;

/*Table structure for table `cangku` */

DROP TABLE IF EXISTS `cangku`;

CREATE TABLE `cangku` (
`sname` varchar(100) NOT NULL COMMENT ‘商品名字‘,
`kucun` int(100) DEFAULT NULL COMMENT ‘库存‘,
PRIMARY KEY (`sname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `cangku` */

insert into `cangku`(`sname`,`kucun`) values (‘哇哈哈‘,72),(‘香飘飘‘,998);

/*Table structure for table `shangpin` */

DROP TABLE IF EXISTS `shangpin`;

CREATE TABLE `shangpin` (
`sname` varchar(100) NOT NULL COMMENT ‘商品名字‘,
`l` varchar(10) DEFAULT NULL COMMENT ‘商品子轨‘,
`stime` date DEFAULT NULL COMMENT ‘购买时间‘,
`num` bigint(20) DEFAULT NULL COMMENT ‘总购买数量‘,
PRIMARY KEY (`sname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*Data for the table `shangpin` */

insert into `shangpin`(`sname`,`l`,`stime`,`num`) values (‘哇哈哈‘,‘wahaha‘,‘2018-01-19‘,24),(‘香飘飘‘,‘wahaha‘,‘2018-01-18‘,2);

/* Procedure structure for procedure `sp` */

/*!50003 DROP PROCEDURE IF EXISTS `sp` */;

DELIMITER $$

/*!50003 CREATE DEFINER=`skip-grants user`@`skip-grants host` PROCEDURE `sp`(in kname varchar(100),in mbh varchar(10),in shuliang int )
BEGIN
/*申请几个变量,到时候拿来提取数值*/
declare tianshu date;
declare num1 int;
declare num2 int;
DECLARE num3 INT;
DECLARE num4 INT;
/*先判断一下仓里面有没有这个商品*/
if exists (SELECT * FROM cangku c WHERE kname=c.sname) then
/*把kname的库存数量提取出来*/
select kucun into num1 from cangku where kname=sname;
/*判断库存够不*/
if num1>shuliang then
/*修改库存量*/
update cangku set kucun=num1-shuliang where kname=sname;
/*判断物品在编码中有起始位没*/
IF EXISTS (SELECT * FROM shangpin s WHERE s.sname=kname) THEN
/*以天数为基准,提取出来*/
select stime into tianshu from shangpin where kname=sname;
/*把天数强制转换一下*/
set num2=CONVERT(DATE_FORMAT(SYSDATE(),‘%Y%m%d‘),UNSIGNED);
SET num3=CONVERT(DATE_FORMAT(tianshu,‘%Y%m%d‘),UNSIGNED);
/*先判断一下时间一不一样*/
if num2=num3 then
/*一样的话,修改时间*/
update shangpin set num=num+1,stime=sysdate() where kname=sname;
/*把最终编号提取出来*/
select num into num4 from shangpin where kname=sname;
/*打印编号*/
select concat(mbh,DATE_FORMAT(SYSDATE(),‘%Y%m%d‘),LPAD(num4,8,0));


elseif num2>num3 then
UPDATE shangpin SET num=num+1,stime=SYSDATE() WHERE kname=sname;
/*把最终编号提取出来*/
SELECT num INTO num4 FROM shangpin WHERE kname=sname;
/*打印编号*/
SELECT CONCAT(mbh,DATE_FORMAT(SYSDATE(),‘%Y%m%d‘),LPAD(num4,8,0));


else
UPDATE shangpin SET num=num+1,stime=SYSDATE() WHERE kname=sname;
/*把最终编号提取出来*/
SELECT num INTO num4 FROM shangpin WHERE kname=sname;
/*打印编号*/
SELECT CONCAT(mbh,DATE_FORMAT(SYSDATE(),‘%Y%m%d‘),LPAD(num4,8,0));
end if;

else
insert into shangpin values(kname,mbh,date_format(SYSDATE(),‘%Y%m%d‘),LPAD(1,8,0));
select concat(mbh,DATE_FORMAT(SYSDATE(),‘%Y%m%d‘),LPAD(1,8,0));
END IF;

ELSE
SELECT ‘库存不足‘;
END IF;

ELSE
select ‘没有此商品‘;
end if;
END */$$
DELIMITER ;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

超市购买自动编号

标签:foreign   cat   div   name   user   *打印   取出   date   update   

原文地址:https://www.cnblogs.com/wangdong123/p/8315427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!