请问高手,oracle数据库中如何在某一特定时间触发一事件?用触发器行吗?(50分)

  • 主题发起人 主题发起人 wavey
  • 开始时间 开始时间
W

wavey

Unregistered / Unconfirmed
GUEST, unregistred user!
oracle数据库中如何在某一特定时间触发一事件?用触发器行吗?
 
那要看你收的特定时候是什么时候了,如果是以对数据库的操作作为促发,当然可以用Trigger
如:table: table1,table2
Create or replace trigger tri_test
after(before..) delete(update..)of (field) on table1
.....
begin
.........
.........
end;
你应该会的:)[:)]
 
谢谢。我说的特定时间不是update insert delete的时候,而是在某一日(即2001年10月25日)只天
或这个时候。
 
如果你有ORACLE 8I的CLIENT端管理工具将可以很方便建立 ,不然你得去写一些很不常用的SQL语句,在SQLPLUS中
如果你把分提高,我可以帮你写
 
ORACLE有专门的JOB用于完成这一类与时间有关的工作
视图 DBA_JOBS就是专门用来放这一类工作
 
分数对我来说是不重要的,只要你能帮我,我可以满足你的要求,只是现在我不知道怎么
加给你。
 
DBMS_JOB 是用来管理job的,说起来话长
dbms_job.submit用来提交一个job,合理设置interval值就可以做到定时启动你的存储过程
 
例子来了
SVRMGR> VARIABLE jobno number;
SVRMGR> begin
2> DBMS_JOB.SUBMIT(:jobno,
3> ’dbms_ddl.analyze_object(’’TABLE’’,
4> ’’DQUON’’, ’’ACCOUNTS’’,
5> ’’ESTIMATE’’, NULL, 50);’
6> SYSDATE, ’SYSDATE + 1’);
7> commit;
8> end;
9> /
Statement processed.
 
DBMS_JOB.SUBMIT( job OUT BINARY_INTEGER, JOB号
what IN ARCHAR2, PL/SQL语句
next_date IN DATE DEFAULT SYSDATE, 执行时间
interval IN VARCHAR2 DEFAULT ’null’, 执行间隔
no_parse IN BOOLEAN DEFAULT FALSE)
 
要修改init.ora中job相关得三个参数。。
 
网上这种文章很多,可以在ORACLE中添加作业的方式,也可以通过UNIX的Crontab实现。
 
后退
顶部