商户流水号生成方法-带序列号

	**

商户流水号和订单号生成方法-带序列号

每次在对接支付平台,第三方收单接口和小程序时,需要用到订单号或者商户流水号来检验唯一性,一般前缀+日期+随机数+后缀格式,自动生成;虽然能保证唯一性,但看上去特别凌乱,今天介绍一种通过数据库使用序列来生成规则且唯一的订单号和商户流水号。

第一步:当然这里说了介绍通过数据库序列来生成,前提是先得搞一个数据库,首先创建一个序列,

1、plsql中设置方法。
在这里插入图片描述
2、sql语句创建
– Create sequence
create sequence SYS.ORDER_SERIAL_FID --序列名称
minvalue 1 --最小值
maxvalue 99999 --最大值
start with 610 --开始于
increment by 1 --增量
cache 100 --缓存
cycle; --循环

第二步:确定是否需要前缀、后缀、日期格式和序列位数。

前缀:60001-
后缀:X
日期:20191211(根据需求来定,可能部分穿透数据需要用到时分秒)
序列数:五位

第三步:制定好规则后就可编写sql查询了。

–sql查询
select ‘60001-’||trim(TO_CHAR(SYSDATE ,‘YYYYMMDD’))||LPAD(ORDER_SERIAL_FID.NEXTVAL, 5, 0)||‘X’ as order_id from dual;
查询结果

第五步:也可将sql封装成函数,方便查询

创建函数方法
–sql
create or replace function getOrderSerial return varchar as
order_id varchar2(20) := ‘60001-’||trim(TO_CHAR(SYSDATE ,‘YYYYMMDD’))||LPAD(ORDER_SERIAL_FID.NEXTVAL, 5, 0)||‘X’;
begin
return order_id;
end getOrderSerial;
查询sql
select getOrderSerial() from dual;
结果集
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值