2015-05-11 46 views
0

我需要找到我的模式名稱,因爲我想刪除我創建的觸發器。 例如以下:Apex:如何找出模式名稱?

CREATE OR REPLACE TRIGGER TRIGGER_ORDER 
BEFORE INSERT ON HOUSE_ORDER 
REFERENCING OLD AS OLD NEW AS NEW 
FOR EACH ROW 
    WHEN (NEW.ORDER_ID IS NULL) 
BEGIN 
    SELECT SEQ_ORDER_ID.NEXTVAL 
    INTO :NEW.ORDER_ID FROM DUAL; 
END; 
/

當我現在嘗試刪除觸發器:

DROP TRIGGER TRIGGER_ORDER 

我收到以下錯誤:

ORA-04080: trigger 'TRIGGER_ORDER' does not exist 

我發現我需要調用像

DROP TRIGGER SCHEMA_NAME.TRIGGER_ORDER 

但我不知道我的模式名是什麼。所以我怎麼找到它?

+0

的可能重複甲骨文:查詢找到所有屬於該表的觸發器(http://stackoverflow.com/questions/4896621/oracle-query-to-find-all-the-triggers - 屬於表) – Typo

+0

你甚至是如何創建觸發器?你是否通過Apex做到這一點,因爲你用它標記了你的問題? – Tom

+0

是的,我確實使用頂點內部的腳本創建它 – Mulgard

回答

0

您應該使用ALL_TRIGGERS視圖。有一個名爲Table Owner的列表示該模式。

select * from all_triggers 
where table_name = 'YOUR_TABLE'