【发布时间】:2011-11-08 22:56:41
【问题描述】:
所以我正在为大学课程制作一个 oracle 数据库。我的课程是为航空公司建立一个数据库。
我遇到的问题是我必须确保新旅客记录上的护照到期日期不小于当前日期(即确保该人的护照仍然有效)。
有人可以帮我创建一个触发器来执行此操作吗?我将 PASSPORT 表中的实体 PASSPORT_EXPIRY 设置为数据类型 DATE。
干杯
【问题讨论】:
所以我正在为大学课程制作一个 oracle 数据库。我的课程是为航空公司建立一个数据库。
我遇到的问题是我必须确保新旅客记录上的护照到期日期不小于当前日期(即确保该人的护照仍然有效)。
有人可以帮我创建一个触发器来执行此操作吗?我将 PASSPORT 表中的实体 PASSPORT_EXPIRY 设置为数据类型 DATE。
干杯
【问题讨论】:
我假设您可以创建触发器..(?)
您将与SYSDATE 进行比较 - 今天(现在)的内置支架。
在触发器内 - 您可以编写 PL SQL。这样您就可以进行 IF 检查。
您的支票将类似于
IF SYSDATE > PASSPORT_EXPIRY THEN
或者您可以将其写入一个 select 语句中,您可以在其中查询从现在到到期之间的天数..
SELECT SYSDATE - PASSPORT_EXPIRY INTO diff
from PASSPORT WHERE ...
然后检查 diff 是否
【讨论】: