oracle触发农产品证明文件号码

CREATE OR REPLACE TRIGGER TRG_KC_SPRK_i

    BEFORE INSERT ON KC_SPRK

    FOR EACH ROW

DECLARE

    vSCBH varchar2(40);

    iCount NUMBER;

    iFor number;

BEGIN

    select t.bhqz into vSCBH  from xt_djbhgz  t where t.gzid=8;--这里是获取还有一张表的某一个字段作为前缀,或者直接赋值也行:  vSCBH := ‘GXCB_’

    select count(1)+1 INTO iCount from KC_SPRK j where j.xzsj>=trunc(sysdate,'mm');
--这里是获取本张表的总数 + 1,并赋值给iCount

    vSCBH:=vSCBH||to_char(sysdate,'yyyymm');
--这里是前缀+时间年月

    FOR iFor IN 1..5-LENGTH(iCount) LOOP

        vSCBH:=vSCBH||'0';

    END LOOP;

    :new.RK_DJH:=vSCBH||iCount;

END TRG_KC_SPRK_i;

效果:GXCB_20141100001              GXCB_20141100002                             GXCB_20141100003

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:redis的发布订阅、持久化存储、redis的主从复制


下一篇:分享记录我的Linux系统入门学习经验