`
吐蕃无敌土匪
  • 浏览: 6617 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Postgre数据库生成自定义订单号

阅读更多
使用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数据库远程连接设置

    PostgreSQL是一种功能强大的开源关系型数据库管理系统,广泛用于企业级数据存储和管理。要实现PostgreSQL数据库的远程连接,你需要进行一系列的配置步骤,确保数据库服务器允许来自不同网络的连接请求。下面将详细...

    postgre数据库使用手册

    3. **复杂查询支持**:支持SQL标准的子查询、连接查询、窗口函数以及自定义聚合函数,满足复杂的数据分析需求。 4. **数据类型丰富**:除了常见的数据类型,还支持JSON、XML、数组、几何对象等复杂类型,适合处理...

    QGIS连接Postgre数据库操作

    QGIS软件连接Postgre数据库截图操作

    Postgre SQL数据库安全防护.pptx

    Postgre SQL 数据库安全防护知识点 Postgre SQL 数据库安全防护是指对 Postgre SQL 数据库实施的一系列安全保护措施,以防止数据库泄露事件的发生。以下是相关知识点: 一、Postgre SQL 数据库安全防护机制 * MD5...

    postgre数据库学习文档

    ### Postgre数据库学习知识点 #### 一、PostgreSQL简介与安装 **PostgreSQL**是一款功能强大的开源对象关系型数据库系统,以其稳定性、可扩展性以及遵循SQL标准而著称。根据给定的学习文档,我们可以了解到关于...

    postgre自动生成代码

    而"Postgre自动生成代码"指的是利用特定的工具或框架,自动化生成与PostgreSQL数据库相关的Java代码,如MyBatis的XML配置、DAO层、Service层以及DTO对象,以减少手动编写这些重复性工作的时间和出错概率。...

    postgre数据库自动备份操作教程.pdf

    postgre数据库自动备份操作教程.pdf

    代码自动生成_连接数据库生成entity(可自定义)_oracle

    标题中的“代码自动生成_连接数据库生成entity(可自定义)_oracle”指的是一个特定的工具或框架,它能够自动化地从Oracle数据库中抽取结构信息,并根据这些信息生成对应的实体类(Entity)代码。Entity在对象关系映射...

    VC访问Postgre数据库

    在VC++环境中,访问数据库是一项常见的任务,而“VC访问PostgreSQL数据库”涉及的技术主要集中在如何利用Microsoft Visual C++(VC)与PostgreSQL数据库进行交互。在这个程序中,两种主要的访问方式被提及:一是使用...

    上海领旗postgre数据库密码修改操作方法.docx

    2. 使用`psql`命令连接到PostgreSQL数据库。 3. 使用`ALTER USER postgres WITH PASSWORD ;`命令修改PostgreSQL密码, `<new_password>`为新密码。 4. 使用`\q`命令退出PostgreSQL命令行。 5. 使用`exit`命令退出...

    postgres 代码生成器

    Postgres 代码生成器是一种工具,它能够帮助开发者快速构建基于PostgreSQL数据库的应用程序。这个工具的核心功能是自动生成3层架构的代码,这通常包括数据访问层(DAL)、业务逻辑层(BLL)和表示层(UI)或前端接口...

    postgresql数据库备份和恢复

    在现代数据库管理中,数据备份和恢复是至关重要的操作,它们确保了数据在系统故障、灾难事故或其他意外情况下的安全性和可用性。PostgreSQL,作为一种流行的开源对象关系数据库系统,它为用户提供了多种工具和方法来...

    功能强大的连接数据库软件A5

    《全面解析:功能强大的数据库连接软件A5》 在当今数字化时代,数据库管理扮演着至关重要的角色,而高效、易用的数据库连接工具是每个IT专业人员不可或缺的武器。A5,这款在日本广受欢迎的数据库连接软件,因其强大...

    易语言源码 Postgre SQL 连接池

    易语言源码 Postgre SQL 连接池。基于 http://www.sanye.cx/?id=12020 的源码 二次开发...封装了一些高级方法..包括,连接池+查询缓存+不知道真假的储存过程+慢查询记录。使用源码使用了E2EE支持库(模块部分思路借鉴...

    Postgre数据库Insert 、Query性能优化详解

    在了解了Postgre的Copy,unlogged table 特性 之后,决定一探究竟。 二、测试用例 1.数据表结构:表示一个员工工作绩效的表(work_test):共15个字段id,no,name,sex,tel,address,provice,city,post,mobile,department...

    mybatis - 代码生成(postgresql\mysql)

    【标题】"mybatis - 代码生成(postgresql\mysql)" 涉及到的是MyBatis框架在数据库代码自动化生成方面的应用,针对PostgreSQL和MySQL两大主流关系型数据库。这个话题涵盖了数据库的逆向工程,以及生成的各类Java...

    postgre数据库驱动

    PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它以其强大的功能、高度的可扩展性和稳定性而受到全球开发者的广泛使用。在进行基于Qt Creator的软件开发时,与PostgreSQL数据库的交互通常需要借助特定...

    Postgre SQL数据库操作模块源码(基于libpq.dll)

    最近学习Postgre SQL数据库,找了很久也没有找到使用libpq.dll的模块,这里自己按照资料写了一个,写得不好,权当抛砖引玉了哈。顺便说下:Postgre SQL号称是最先进的开源数据库,确实不是盖的,在我使用来看确实比...

    postgre sql UUID

    截取json将之装换成uuid,uuid作为唯一标识符,可以做排重处理,删除重复值。

    自定义函数

    为了提高SQL查询的灵活性与复用性,许多数据库系统提供了创建自定义函数的功能,使得用户可以根据特定需求编写个性化的数据处理逻辑。本文将通过一个具体的例子来探讨自定义函数在SQL中的应用。 #### 二、自定义...

Global site tag (gtag.js) - Google Analytics