首页 > 其他分享 >P001-根据编码规则自动生成ID的函数

P001-根据编码规则自动生成ID的函数

时间:2024-03-07 09:34:06浏览次数:23  
标签:function 编码 dm P001 seq -- ID num id

-- 创建sequence
CREATE SEQUENCE seq_1765319714616074242 INCREMENT 1 MINVALUE 3 MAXVALUE 9999 START 3 NO CYCLE NOCACHE ;

-- 变更sequence
ALTER SEQUENCE seq_1765319714616074242 INCREMENT 1 MINVALUE 10 MAXVALUE 9999 START 10 NO CYCLE NOCACHE ;

-- 删除sequence
DROP SEQUENCE dm.seq_commodity;

-- 获取下一次ID
SELECT nextval('seq_1765319714616074242');
-- 获取当前ID,需要执行过nextval后才能执行,否则会报异常
SELECT CURRVAL('seq_1765319714616074242');

-- 删除function
DROP FUNCTION IF EXISTS generate_dm_data_auto_id(bigint);
-- 创建function
CREATE OR REPLACE FUNCTION generate_dm_data_auto_id(num_rule_id bigint)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
DECLARE
    maxVal bigint;
    namePre varchar;
    nameSuf varchar;
    numLen integer;
BEGIN
   select name_pre,name_suf,num_len,nextval(concat('dm_data.seq_',num_rule_id)) into namePre,nameSuf,numLen,maxVal
   FROM dm_id_num_rule where id_num_rule_id = num_rule_id;

  RETURN concat(namePre,LPAD(maxVal::varchar ,numLen,'0'),nameSuf);
END;
$function$
;

-- 使用function
select generate_dm_data_auto_id(1765319714616074242);

日期:2024-03-07

标签:function,编码,dm,P001,seq,--,ID,num,id
From: https://www.cnblogs.com/ysloong/p/18058167

相关文章

  • TIDB使用介绍
    TiDB概述TiDB数据库官方网址:https://pingcap.com/zh/​TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(HybridTransactionalandAnalyticalProcessing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融......
  • TIDB简介及TIDB部署、原理和使用介绍
    从MySQL架构到TiDB数据库分类​介绍TiDB数据库之前,先引入使用场景。如今的数据库种类繁多,RDBMS(关系型数据库)、NoSQL(NotOnlySQL)、NewSQL,在数据库领域均有一席之地,可谓百家争鸣之势。那么为什么要使用TiDB呢?接下来就从最熟悉的MySQL的使用说起。MySQL痛点​假设现在有一个高速......
  • IDEA配置Servlet
     IDEA配置Servlet 重点说明!!!Tomcat强烈建议使用9.0版本!!! 极不推荐一上来就用10.0版本为什么?请参考:Tomcat10巨坑,软件不是越新越好。_fquer-CSDN博客Tomcat10版本避坑-CSDN博客 以下操作在配置web框架基础上进行(前文的1~6,即在配置tomcat之前的所有步骤)! 前几步与之前......
  • Android开发学习之路01
    今日跟着一个人进行了Androidstudio上创建数据库和数据表的联系,这应该是老师留的作业中,进行数据库的连接。原文链接:https://blog.csdn.net/fjh_xx/article/details/131404230一.前言二.SQLite数据库介绍1.什么是SQLite数据库2.特点3.SQLite操作API4.SQLite数据类型三.S......
  • 从零开始搭建Springboot开发环境(Java8+Git+Maven+MySQL+Idea)之一步到位
    说明所谓万事开头难,对于初学Java和Springboot框架的小伙伴往往会花不少时间在开发环境搭建上面。究其原因其实还是不熟悉,作为在IT界摸爬滚打数年的老司机,对于各种开发环境搭建已经了然于胸,自己当年也是这么过来的。今天我就毕其功于一役,解放大家的时间,让凡人的环境配置见鬼去吧......
  • android studio
    避坑:1.此处替换路径下载地址:https://mirrors.cloud.tencent.com/gradle/2.D:\app\gradle-6.7.1\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.8.10\2a38b258da57285fb187fc329f7374c0751576af此处下载对应文件后将原文件替换注意修改......
  • E. Accidental Victory
    https://codeforces.com/problemset/problem/1490/EThisisachanllengingproblemoncodeforceswithadiffcuiltyscoreof1400.Itcanbesolvedbyusingsortandgreedyalgorithms.voidsolve(){intn;cin>>n;vector<pair<int,i......
  • druid连接池的使用
    1packagecom.atsyc.api.druid;23//druid连接池使用类45importcom.alibaba.druid.pool.DruidDataSource;6importcom.alibaba.druid.pool.DruidDataSourceFactory;7importcom.alibaba.druid.pool.DruidPooledConnection;8importorg.junit.Test;910......
  • Android Room DataBase
     AndroidRoomDataBase(一)https://blog.csdn.net/l_o_s/article/details/79346426AndroidRoomDataBase(二)https://blog.csdn.net/l_o_s/article/details/79348701AndroidRoomDataBase(三)https://blog.csdn.net/l_o_s/article/details/79388408使用AndroidJetpack......
  • IDEA自定义注释
    注释模板配置首先打开IDEA设置Settings...(Windows快捷键:Ctrl+Alt+S,Mac快捷键:command+,)--->Editor--->LiveTemplates--->点击右侧加号"+"设置以下六处相应的内容Abbreviation:快捷缩略词,可以输入数值、字母、符号,到时配合/*使用(依模板内容而定),例......