创建语句级触发器时的编译错误

时间:2018-09-01 01:32:47

标签: database database-trigger

我正在尝试使用语句级触发器,而不是行级触发器。

我一辈子都想不通如何在没有编译错误的情况下使该触发器正常工作。我做错什么了吗?我已经测试了select语句以找到计数,并且工作正常。

/register

1 个答案:

答案 0 :(得分:0)

我设法使其正常运行。 select语句是分开工作的,但是当这样使用时,我需要使用“ INTO”语句。另外,RAISE_APPLICATION_ERROR的数字超出范围。需要介于-20000和-20999之间。

CREATE OR REPLACE TRIGGER bustaxi
AFTER INSERT ON BUS
DECLARE 
var_count NUMBER;
BEGIN

  SELECT COUNT(L#) INTO var_count
  FROM (SELECT L# FROM BUS
  INTERSECT
  SELECT L# FROM TAXI);

  IF (var_count > 0) THEN
    RAISE_APPLICATION_ERROR(-20001, 'Already drives a taxi!');
  END IF;
END;
/