如何查詢儲存過程procedure所依賴物件的有效性--dba_dependencies
網友問題
--查一個儲存過程所依敕對像的有效性如何?查?親們.結論
1,dba_dependencies記錄當前物件與依賴的基物件之間的關係
2,name列為當前物件,而referenced_name為依賴的基物件
3,透過上述列可以與dba_objects關係,獲取依賴的基物件的狀態是否有效或無效,然後採取針對性措施
測試
SQL> select * from v$version where rownum=1;
BANNER
----------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
SQL> show user
USER is "SCOTT"
SQL> create table t_base(a int);
Table created.
SQL> select owner,name,type,REFERENCED_OWNER,REFERENCED_NAME,REFERENCED_TYPE from dba_dependencies where referenced_type='TABLE' and REFERENCED_NAME='T_BASE';
no rows selected
SQL> create or replace view v_t_base as select count(*) as cnt from t_base;
View created.
SQL> select owner,name,type,REFERENCED_OWNER,REFERENCED_NAME,REFERENCED_TYPE from dba_dependencies where referenced_type='TABLE' and REFERENCED_NAME='T_BASE';
OWNER NAME TYPE REFERENCED_OWNER REFERENCED_NAME REFERENCED_TYPE
---------- ------------------------------ --------------- -------------------- -------------------------------------------------- ------------------------------------
SCOTT V_T_BASE VIEW SCOTT T_BASE TABLE
SQL> select object_name,status from dba_objects where owner='SCOTT' and object_name='V_T_BASE';
OBJECT_NAME STATUS
-------------------------------------------------- --------------------------------------------------
V_T_BASE VALID
SQL> create or replace procedure proc_t_base
2 as
3 v_cnt pls_integer;
4 begin
5 select count(a) into v_cnt from t_base;
6 end;
7 /
Procedure created.
SQL> select owner,name,type,REFERENCED_OWNER,REFERENCED_NAME,REFERENCED_TYPE from dba_dependencies where referenced_type='TABLE' and REFERENCED_NAME='T_BASE';
OWNER NAME TYPE REFERENCED_OWNER REFERENCED_NAME REFERENCED_TYPE
---------- ------------------------------ --------------- -------------------- -------------------------------------------------- ------------------------------------
SCOTT PROC_T_BASE PROCEDURE SCOTT T_BASE TABLE
SCOTT V_T_BASE VIEW SCOTT T_BASE TABLE
SQL>
SQL> select object_name,status from dba_objects where owner='SCOTT' and object_name='T_BASE';
OBJECT_NAME STATUS
-------------------------------------------------- --------------------------------------------------
T_BASE VALID
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-1977913/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- mysql儲存過程procedure、函式function的用法MySql儲存過程函式Function
- mysql檢視儲存過程show procedure status;MySql儲存過程
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- 如何查詢一個儲存過程是否在執行儲存過程
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- Ms Sql Server查詢儲存過程中的內容SQLServer儲存過程
- 查詢當前資料庫存在某個字串的儲存過程資料庫字串儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- 6.5. 常用物件——6.5.6. 儲存過程物件儲存過程
- 使用儲存過程(PL/SQL)向資料庫中儲存BLOB物件儲存過程SQL資料庫物件
- vertica 如何實現儲存過程?儲存過程
- oracle的儲存過程Oracle儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- Oracle服務啟動-索引-子查詢-分頁儲存過程問題Oracle索引儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- SQLSERVER儲存過程SQLServer儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- unidac儲存過程儲存過程
- firedac儲存過程儲存過程
- Oracle儲存過程Oracle儲存過程
- MySQL儲存過程中如何使用ROLLBACKMySql儲存過程
- Sqlserver中的儲存過程SQLServer儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- JdbcTemplate調儲存過程JDBC儲存過程
- 造數儲存過程儲存過程
- 儲存過程——遊標儲存過程
- 儲存過程 傳 datatable儲存過程
- JAVA儲存過程(轉)Java儲存過程
- MySQL之儲存過程MySql儲存過程
- MySQL---------儲存過程MySql儲存過程
- linux呼叫儲存過程Linux儲存過程
- Winform呼叫儲存過程ORM儲存過程
- mysql儲存過程整理MySql儲存過程
- Oracle儲存過程-1Oracle儲存過程
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式