我正在尝试使用语句级触发器,而不是行级触发器。
我一辈子都想不通如何在没有编译错误的情况下使该触发器正常工作。我做错什么了吗?我已经测试了select语句以找到计数,并且工作正常。
/register
答案 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;
/