zoukankan      html  css  js  c++  java
  • oracle 主键生成策略

    oracle的主键生成有好几种方法,比如sys_guid(),但太长,空间大,我觉得很不好.前台程序设置,自由度比较好,但是如果碰到循环插入,很不好处理;

    还有就是序列方案,比较可以,但如果每一个表都来一个序列那不就有点麻烦啊,今天发现一个好的方案,就是没有测试性能如何;

    触发器方案示例:

    create or replace trigger trg_jhy_ai_custom_b_i 
    before insert on jhy_ai_custom for each row
    begin 
    select to_char(sysdate, 'yymmdd') || lpad(decode(max(substr(a.id,7,4)),null,0)+1,4,0) into :new.ID from jhy_ai_custom a
    where substr(a.id,1,6) = to_char(sysdate, 'yymmdd');
    end;
    

    这是一个"时间(6)+序号(4)",一共10位.空间和性能应该比较好.希望高手指教~
    自己赞一个,觉得很不错,以后使用时就把这个改改就可以啦~



  • 相关阅读:
    fzu 2122
    hdu 4707 bellman
    sicily 10330. Cutting Sausages
    湖南省2016省赛题。1809: Parenthesis 线段树
    Panoramic Photography
    B. No Time for Dragons 贪心
    The Weakest Sith
    E. The Best among Equals
    Gym 101149I I
    AtCoder D
  • 原文地址:https://www.cnblogs.com/zhahost/p/1431438.html
Copyright © 2011-2022 走看看