oracle不处理来自查询的数据

oracle不处理来自查询的数据,oracle,datetime,triggers,Oracle,Datetime,Triggers,我正在写一个触发器来检查一名员工是否被分配到两个重叠的航班 可能是这样的: select flight_id from flight where arrival_time > :new.departure_time and departure_time < :new.arrival_time; if flight_id is empty [do nothing] if flight_id exists [raise application error] 从航班中选择航

我正在写一个触发器来检查一名员工是否被分配到两个重叠的航班

可能是这样的:

select flight_id from flight 
where arrival_time > :new.departure_time
and departure_time < :new.arrival_time;

if flight_id is empty 
  [do nothing]
if flight_id exists
  [raise application error]
从航班中选择航班号
到达地点\时间>:新建。出发地点\时间
和出发时间<:new.arrival\u time;
如果航班号为空
[什么也不做]
如果航班号存在
[引发应用程序错误]
有谁能帮我在那里编写条件逻辑代码吗?这是我第一次与oracle合作(大学课程)


请注意,1=0将强制执行“未找到数据”异常。此示例应适用于任何Oracle数据库,但插入错误表除外。

选择。。。进入
的是你的朋友。它将引发一个异常,您捕获它,不执行任何操作,否则将引发您自己的错误

select flight_id into v
from flight 
where arrival_time > :new.departure_time
and departure_time < :new.arrival_time;
raise_application_error(-20000, 'not good');
exception
when NO_DATA_FOUND
  then return 1
 when others
   then raise_application_error(-20011,'really good');
选择航班号进入v
从飞行
到达地点\时间>:新建。出发地点\时间
和出发时间<:new.arrival\u time;
引发应用程序错误(-20000,‘不好’);
例外
当找不到数据时
然后返回1
当别人
然后提出应用程序错误(-20011,“非常好”);
select flight_id into v
from flight 
where arrival_time > :new.departure_time
and departure_time < :new.arrival_time;
raise_application_error(-20000, 'not good');
exception
when NO_DATA_FOUND
  then return 1
 when others
   then raise_application_error(-20011,'really good');