在表test内有两个时间,一个是starttime,另一个是endtime,如何在插入数据时自动计算两个的相隔的时间,
当时间差大于一天时,取天数,当时间差小于一天时,取小时,把结果自动赋给totaltime字段。
同时,计算这两个时间是星期几,如starttime是星期一就取一,如endtime是星期二取二,把结果合并起来,
结果为一-二,赋给fromtoweek字段,如果两个都是星期的同一天,就自取一个值,如两个都是星期一,就取一,
赋给fromtoweek字段,请问这个触发器或存储过程该怎么写,最好计算时,先判断starttime和endtime是否为空?
当时间差大于一天时,取天数,当时间差小于一天时,取小时,把结果自动赋给totaltime字段。
同时,计算这两个时间是星期几,如starttime是星期一就取一,如endtime是星期二取二,把结果合并起来,
结果为一-二,赋给fromtoweek字段,如果两个都是星期的同一天,就自取一个值,如两个都是星期一,就取一,
赋给fromtoweek字段,请问这个触发器或存储过程该怎么写,最好计算时,先判断starttime和endtime是否为空?
before insert on test1
for each row
declareBEGIN
--首先判断两个时间都不为空
if :new.endtime is not null and :new.starttime is not null then
--计算totaltime
if :new.endtime - :new.starttime > 1 then
:new.totaltime := :new.endtime - :new.starttime;
else
:new.totaltime := (:new.ENDTIME - :new.starttime) * 24;
end if;
end if;
END;--其他的功能自己实现