首页 新闻 会员 周边

关于oarcle触发器

0
悬赏园豆:15 [已解决问题] 解决于 2014-09-21 10:48

序列已经写好了,现在我的触发器是这样的

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大神!

忧虑的心的主页 忧虑的心 | 初学一级 | 园豆:73
提问于:2014-08-29 18:31
< >
分享
最佳答案
0

“时间一变,序列就变为0000”

 

我觉得你的问题不是出在序列上,而是如何控制序列上。你可以自己写个函数去判断时间是否发生了变化,如果发生了变化那么就初始化序列再返回值。

收获园豆:8
bitbug | 菜鸟二级 |园豆:470 | 2014-09-09 16:10
其他回答(1)
0

感觉没法实现,不过你可以变换一种思路,可以建个job每天0点把序列seqRC_JOBINFO设置为0

收获园豆:7
webaspx | 园豆:1973 (小虾三级) | 2014-09-01 11:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册