Oracle11g 为什么ORACLE SQL 11G中的触发器代码出现错误PLS-00122代码

Oracle11g 为什么ORACLE SQL 11G中的触发器代码出现错误PLS-00122代码,oracle11g,triggers,Oracle11g,Triggers,我是Oracle11g语法的新手,尤其是触发器,我可以知道为什么会发生以下错误吗 CREATE OR REPLACE TRIGGER constraint_trig AFTER INSERT ON booking_room FOR EACH ROW BEGIN IF (exists(SELECT booking_room.guest_NRIC, booking.check_in, booking.check_out, COUNT(*)

我是Oracle11g语法的新手,尤其是触发器,我可以知道为什么会发生以下错误吗


   CREATE OR REPLACE TRIGGER constraint_trig 
      AFTER INSERT ON booking_room FOR EACH ROW 
      BEGIN  
    IF (exists(SELECT booking_room.guest_NRIC, booking.check_in, booking.check_out, COUNT(*)  
          FROM booking_room, guest 
          WHERE guest.NRIC=booking_room.guest_NRIC 
          GROUP BY booking_room.guest_NRIC, booking_room. check_in, booking_room.check_out HAVING COUNT(*)>5))
    THEN raise_application_error (-20000, 'cannot have more than '); 
    END IF;   
    END; 
    /

>

输出错误:

行/列错误


2/7 PLS-00122:仅允许使用光标作为分隔符
内置函数

您的意思是说“如果(退出)(选择…”还是应该是“如果(存在)(选择…””?我的意思是如果存在,请用你的问题标题来描述你试图解决的问题或你提出的问题。简单地重复你所使用的标签中已有的信息不会提供有意义的信息。你的标题应该足够清晰和描述性,以便将来浏览列表的网站用户使用f试图找到问题解决方案的搜索结果。标记重复对此没有任何价值。