如何删除触发器?
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" 可能会导致混淆,因为它确实存在,只是用户无法访问。
我创建了一些触发器,如下所示:
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" 可能会导致混淆,因为它确实存在,只是用户无法访问。