Oracle 判断日期是否过期 (急!在线等!)

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:29:49
我在做一个图书管理系统,我碰到了这样一个问题:当现在日期比图书应该归还日期大的时候,Oracle自动设置该图书过期。
BorrowInfo(BrwID,BookID,StudentID,OverdueState,BrwDate,ReturnDate);
当 SysDate>ReturnDate Oracle自动将OverdueState设为0;
如何来实现这一操作?是写一个触发器还是怎样?

设置触发器不太可能,因为触犯器不会根据系统时间来自动判断
可以每天00:00设置一个job,用存储过程来实现
每天0点判断一次to_char(sysdate,'yyyymmdd')是否>to_char(ReturnDate,'yyyymmdd'),后边不用说了吧?

日期型可直接作减法
update tablename set OverdueState=0 where SysDate>ReturnDate

你是用什么开发的。做一个自动启动项就可以来。让它每天运行!

呵呵,可以在服务器上设置一个JOB,让它每天自动运行。
或者是做某个操作(如查询、或还书等)时运行一段代码设置图书状态
这个好像没有必要一定要实时的吧