Oracle 中查看用戶建立的所有觸發器

 在Oracle中的創建觸發器後,必須對其進行管理,比如修改觸發器或者刪除無效的觸發器,我們可以把用戶創建的所有觸發器遍歷出來,然後再進行操作。

   如果你具有系統管理器的權限,那麼在直接用SYS登錄後,用下面的語句:

SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='TRIGGER'

 

 

   就可以把所有用戶的觸發器選擇出來,當然也可以選擇特定用戶的,如

SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='TRIGGER' AND OWNER='SCOTT'

   但是如果你只有普通用戶的權限,上面的操作無法進行的。我們可以用如下的語句進行觸發器的遍歷

SELECT NAME 
FROM USER_SOURCE
WHERE TYPE='TRIGGER'
GROUP BY NAME 

 

   這樣就可以了!


 

查all_triggers表得到trigger_name

 



select trigger_name from all_triggers where table_name='XXX'; 

 


 

根據trigger_name查詢出觸發器詳細信息

 


 

select text from all_source where type='TRIGGER' AND name='TR_XXX';


查詢指定表的觸發器信息,注意表名字母大小寫區分。

  select * from all_triggers WHERE table_name='表名';


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章