此SQL触发器代码中是否存在与编译相关的问题

此SQL触发器代码中是否存在与编译相关的问题,sql,oracle,plsql,triggers,Sql,Oracle,Plsql,Triggers,感谢您帮助我查找此SQL触发器中的编译错误 CREATE TRIGGER Trig_Agence_Compte_2 BEFORE DELETE OR UPDATE OF No ON Agence FOR EACH ROW DECLARE x NUMBER:=0; BEGIN SELECT COUNT(*) IN x FROM Compte_2@dl_RABAT WHERE Agence_No=:OLD.No; IF x <> 0 THEN RA

感谢您帮助我查找此SQL触发器中的编译错误

CREATE TRIGGER Trig_Agence_Compte_2
BEFORE DELETE OR UPDATE OF No
ON Agence FOR EACH ROW
DECLARE
    x NUMBER:=0;
BEGIN
    SELECT COUNT(*) IN x FROM Compte_2@dl_RABAT WHERE Agence_No=:OLD.No;
    IF x <> 0 THEN
        RAISE_APPLICATION_ERROR(-20750, 'Operation Interdite : Agence Utilisee dans Compte_2');
    END IF;
END;
/
创建触发器触发代理\u Compte\u 2
在删除或更新编号之前
关于每行的代理
声明
x编号:=0;
开始
从Compte中选择x中的计数(*)_2@dl_RABAT其中,Agence_No=:OLD.No;
如果x 0那么
提出申请错误(-20750,“禁令行动:机构使用dans Compte 2”);
如果结束;
结束;
/

您可能还有其他问题,但我认为这是错误的:

SELECT COUNT(*) IN x FROM Compte_2@dl_RABAT WHERE Agence_No=:OLD.No;
----------------^

我希望
进入这里的

最好在错误消息中包含有问题的
:old.no
,这样在多行更新的情况下,您就知道是哪个值导致了问题。我会这样做。。非常感谢。