2012-12-28 56 views
3

我被困在一個非常罕見的問題。有一個我想放棄的觸發器。現在,當我放棄它時,它會成功放棄。下降非常惱人的觸發器

drop trigger HRCS.hr_external_salary_in_trigger 

但是當我運行此命令,然後我可以看到再次觸發:

select * from all_triggers where trigger_name like '%external%' 

我可以看到這個觸發器在PLSQL開發的UI,頭上紅色的X。現在,當我嘗試從左鍵單擊菜單中刪除它,然後我得到這個錯誤:

Error dropping HRCS.hr_external_salary_in_trigger 
ORA-04080: trigger 'HR_EXTERNAL_SALARY_IN_TRIGGER' does not exist 

從來沒有見過這種行爲。我刪除的東西仍然存在,但程序表示它在顯示時不存在。 O_O

我怎樣才能擺脫這種不良的煩惱

+0

是'HRCS'你當前的模式?您從all_triggers語句中選擇的'owner'列的值是什麼? –

+0

是的,我曾嘗試從HRCS以及從系統中刪除 – Jaanna

+0

請提供的'選擇all_triggers其中TRIGGER_NAME LIKE「%外部%」'*的結果,特別是'owner'列 –

回答

4

好吧,我解決了這個問題

我用引號爲:

drop trigger HRCS."hr_external_salary_in_trigger" 

,它被放棄了,終於。

感謝所有的回覆:)

1

使用檢查觸發的相關性,

select * from dba_dependencies; 

瞭解是否有任何依賴或沒有。檢查您是否爲該觸發器創建了同義詞。