如何删除触发器?

How to delete a Trigger?

我创建了一些触发器,如下所示:

CREATE OR REPLACE TRIGGER TRIGGER_USER
BEFORE INSERT ON HOUSE_USER
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
    WHEN (NEW.USER_ID IS NULL)
BEGIN
    SELECT SEQ_USER_ID.NEXTVAL
    INTO :NEW.USER_ID FROM DUAL;
END;
/

但我不能放弃它们。当我试图放下它时:

DROP TRIGGER TRIGGER_USER;

我收到以下错误:

ORA-04080: trigger 'TRIGGER_USER' does not exist

我发现你必须告诉模式。我发射了以下命令:

SELECT * FROM ALL_TRIGGERS WHERE TABLE_NAME = 'HOUSE_USER'

已送达:

OWNER: APEX
TRIGGER_NAME: TRIGGER_USER

所以我再次尝试:

DROP TRIGGER APEX.TRIGGER_USER;

但是我又遇到了错误:

ORA-04080: trigger 'TRIGGER_USER' does not exist

那么:我怎样才能删除触发器?

您可能根本没有权利从 APEX 用户那里删除触发器。

确保授予 DROP ANY TRIGGER

错误消息 "does not exist" 可能会导致混淆,因为它确实存在,只是用户无法访问。