MySQL生成-单据号不重复
2016-05-24 14:57
381 查看
需求生成一个单据编号
单据编号结构: “单据类型” + “日期” + “流水号”
例子 : GD201605230000007
代码:
单据编号结构: “单据类型” + “日期” + “流水号”
例子 : GD201605230000007
代码:
DELIMITER $$ CREATE PROCEDURE `yunzhi`.`auto_no`(IN billType CHAR(2)) BEGIN DECLARE v_timestr VARCHAR(8); DECLARE v_cnt INT; DECLARE rowcount BIGINT; -- 当前日期(8位短日期) SET v_timestr = DATE_FORMAT(NOW(), '%Y%m%d'); SELECT CONCAT(billType,v_timestr) INTO v_timestr; SET autocommit = 0; UPDATE no_seq SET sn = (sn + 1) WHERE timestr = v_timestr; IF ROW_COUNT() = 0 THEN INSERT INTO no_seq(timestr,sn) VALUE (v_timestr,1); END IF; SELECT CONCAT(v_timestr,LPAD(sn,7,0)) AS sn FROM no_seq WHERE timestr = v_timestr; COMMIT; END$$ DELIMITER ;
相关文章推荐
- MYSQL explain详解
- mysql存储过程详解
- MYSQL搜索引擎
- mysql备份总结
- mysql连接池模块
- MySQL 触发器
- 腾讯云,阿里云 MySQL数据迁移到数据盘
- Mysql一主多从和读写分离配置简记
- MySQL中的视图操作
- 查询性能优化
- mysql命令操作
- 数据库_MySQL_常用DDL、DML、DCL语言整理(附样例)
- MySQL中的insert ignore into, replace into等的一些用法小结(转)
- mysql5.6允许远程服务器访问数据库
- Mysql Join语法解析与性能分析
- Hibernate+maven+mysql
- mysql5.6.30之count(*)详解
- mysql Threads_created 增长过快的解决
- mysql 数据类型
- mysql 性能优化方向