oracle 实现任务编码自增


业务需求:任务编号前面4位数(通过查询其他表,值不确定),后面5位数实现自增

实现方法如下

1、创建序列

 1  create sequence GENERAL_DES_TASK_SEQ_1
 2  increment by 1
 3  start with 1
 4  maxvalue 999999;
 5 
 6 格式:
 7  create sequence 序列名
 8  increment by 1
 9  start with 1
10  maxvalue 999999999;

2、创建触发器

 1 create or replace trigger GENERAL_DES_TASK_TRG_1
 2   before insert on GENERAL_DES_TASK
 3   for each row
 4   WHEN (new.TASK_CODE is null) --注意当这个值位null时执行此方法
 5 begin
 6   declare
 7     v_node_code varchar2(50); --声明变量,用于接收任务编号前4位
 8   begin
 9     SELECT NODE_CODE
10       into v_node_code
11       FROM STANDA_SCHEDULE_NODE
12      WHERE STANDA_SCHEDULE_ID = 504
13        AND STANDA_SCHEDULE_NODE_ID = :new.STANDA_SCHEDULE_NODE_ID;
14     select v_node_code ||
15            substr('000000000' || to_char(GENERAL_DES_TASK_SEQ_1.Nextval),
16                   -5,
17                   5)
18       into :NEW.TASK_CODE
19       FROM DUAL;
20   end;
21 end;
22 
23 格式:
24 create or replace trigger 触发器名
25   before 
26      insert on 表名
27   for each row
28 declare
29   -- local variables here
30 begin
31   SELECT 序列名.Nextval  INTO :NEW.自增列 FROM DUAL;
32 end;

优质内容筛选与推荐>>
1、安装ORACLE服务出现Oracle Net Configuration Assistant 失败问题【我】
2、torch中的回归
3、创业日记-创业团队的压力与情绪
4、2016.12.19-23周总结
5、运算符优先级问题


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn