使用postgre的存储过程生成自定义订单号
CREATE OR REPLACE FUNCTION get_order_no(tname VARCHAR,cname VARCHAR,cprefix VARCHAR)
RETURNS VARCHAR
AS
$$
DECLARE
--当前的订单号
now_order_no VARCHAR;
--存储当前日期
now_day VARCHAR;
--新的订单号
new_order_no VARCHAR;
--旧的时间
old_date VARCHAR;
--旧的订单编号
old_order_no BIGINT;
--新的订单编号
order_no VARCHAR;
BEGIN
EXECUTE 'SELECT MAX ('||cname||') FROM '||tname||' WHERE booking_time > CURRENT_DATE' INTO now_order_no;
--通过截取 获得订单号中的日期
old_date = substr(now_order_no,1,8);
--通过截取获得旧的订单编号
old_order_no = substr(now_order_no,10,5);
--当前日期
now_day = to_char(CURRENT_DATE,'yyyyMMdd');
--如果没有获得大于当前日期的订单 则从新插入
IF now_order_no is NULL THEN
new_order_no = cprefix || now_day || '00001';
RETURN new_order_no;
--如果 查询的时间 等于当前时间
ELSEIF old_date != now_day THEN
new_order_no = cprefix || now_day || '00001';
RETURN new_order_no;
ELSE
order_no= cast(old_order_no+1 as varchar);
order_no = LPAD(order_no,5,'0');
new_order_no = cprefix || now_day || order_no;
RETURN new_order_no;
END IF;
END;
$$
LANGUAGE 'plpgsql' VOLATILE;
分享到:
相关推荐
设置Postgre数据库远程连接服务的两种方式,截图教程。
postgre最新版本手册,数据库使用手册
QGIS软件连接Postgre数据库截图操作
VC访问数据库有两种方法:一种是使用CDatabase和CRecord对象;另一种是利用ADO技术。 这个程序实现了Postgre数据库的读写,以及存储过程的调用。
postgre数据库自动备份操作教程.pdf
使用postgre时的学习文档,包括:postgre安装、启动停止、命令等等。有了这个,一般数据库操作都应该够用了。学习的来源主要是pg自己提供的英文文档。
上海领旗postgre数据库密码修改操作方法.docx
代码自动生成_连接数据库生成entity(可自定义)_oracle
postgre自动生成代码 ,mybatis xml dao service 这个好用,dto
Postgre SQL数据库安全防护.pptx
postgresql数据库备份和恢复文档资料,详细介绍了PostgreSQL数据库的备份与恢复 方法,值得学习下
易语言源码 Postgre SQL 连接池。基于 http://www.sanye.cx/?id=12020 的源码 二次开发...封装了一些高级方法..包括,连接池+查询缓存+不知道真假的储存过程+慢查询记录。使用源码使用了E2EE支持库(模块部分思路借鉴...
postgres 代码生成器,自动生成3层结构。
在了解了Postgre的Copy,unlogged table 特性 之后,决定一探究竟。 二、测试用例 1.数据表结构:表示一个员工工作绩效的表(work_test):共15个字段id,no,name,sex,tel,address,provice,city,post,mobile,department...
截取json将之装换成uuid,uuid作为唯一标识符,可以做排重处理,删除重复值。
最近学习Postgre SQL数据库,找了很久也没有找到使用libpq.dll的模块,这里自己按照资料写了一个,写得不好,权当抛砖引玉了哈。顺便说下:Postgre SQL号称是最先进的开源数据库,确实不是盖的,在我使用来看确实比...
posgre数据库驱动文件,针对Qt Creater4.8版本,MSVC中的发布和调试都包含其中(qsqlpsql4.dll,qsqlpsqld4.dll,qsqlpsqld4.pdb)
postgre最新驱动