序列已经写好了,现在我的触发器是这样的
create or replace trigger tr_RC_JOBINFO
before insert on RC_JOBINFO
referencing old as oldval
new as newval
for each row
begin
select 'job'||to_char(sysdate,'yyyyMMdd')||Trim(to_char(seqRC_JOBINFO.Nextval,'0000')) into :newval.JOBNO from dual;
end;
现在只能达到job+时间+序列(不会清零),但是我现在要达到时间一变,序列就变为0000.
求oracle大神!
“时间一变,序列就变为0000”
我觉得你的问题不是出在序列上,而是如何控制序列上。你可以自己写个函数去判断时间是否发生了变化,如果发生了变化那么就初始化序列再返回值。
感觉没法实现,不过你可以变换一种思路,可以建个job每天0点把序列seqRC_JOBINFO设置为0