你这样就不需要用sequence了,另外建立一个存放每日当前最大流水号的表,在trigger里查询和更新。
解决方案 »
- sql 语句能把数据库里的数据导成txt格式吗?
- virtual circuit wait等待事件是怎么产生的?如何去掉
- ORA-00376: file 88 cannot be read at this time
- 关于触发器
- 请问两个关于锁的问题
- 求一个sql优化
- 菜鸟求助:oracle 10g的net configuration assistant 选择本地net服务名配置时,点击下一步没反应怎么回事?oracle net manager的本地/服务命名下为空,无法创建net服务名是怎么回事?
- Oracle数据计算问题,恳请高手帮忙
- 请各位大虾为小弟指点迷津
- 那里有oracle8i下载???
- 关于Oracle过程的问题?
- 如何将Excel数据导入Oracle?
如果不是,那么 赞同Lastdrop(空杯) 的做法,在trigger里比较一下时间,就什么都解决了。
CREATE OR REPLACE PACKAGE pkg_test
AS
num number:=0;
END pkg_test;
/
SQL> create or replace procedure pro
2 is
3 begin
4 pkg_test.num:=0;
5 end;
6 /QL> declare
2 jobno number;
3 begin
4 dbms_job.submit(jobno,'pro;',sysdate,'trunc(sysdate)+1');
5 commit;
6 end;
7 /create trigger name_tri
before insert on tbl_error_log
for each row
begin
pkg_test.num:=pkg_test.num+1;
select to_char(sysdate,'yyyymmdd')||lpad(pkg_test.num,6,'0') into log_id from dual;
end;
/
select to_char(sysdate,'yyyymmdd')||lpad(pkg_test.num,6,'0') into :new.log_id from dual;