如何查詢儲存過程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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 建立儲存過程PROCEDURESQL儲存過程
- 儲存過程模糊查詢(like)儲存過程
- PL/SQL 05 儲存過程 procedureSQL儲存過程
- [Procedure]Oracle之分頁儲存過程Oracle儲存過程
- Oracle 基礎 ----procedure(儲存過程)Oracle儲存過程
- 查詢儲存過程報錯資訊儲存過程
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- 儲存過程結果進行查詢 select 存過過程儲存過程
- 帶有儲存過程的組合查詢儲存過程
- 如何查詢一個儲存過程是否在執行儲存過程
- oracle父儲存過程呼叫子儲存過程procedure與輸出引數Oracle儲存過程
- mysql儲存過程procedure、函式function的用法MySql儲存過程函式Function
- SQLServer查詢使用者儲存過程SQLServer儲存過程
- mysql檢視儲存過程show procedure status;MySql儲存過程
- MySQL入門--儲存過程(PROCEDURE)和儲存函式(FUNCTION)MySql儲存過程儲存函式Function
- 查詢多張表記錄數的儲存過程儲存過程
- procedure儲存過程呼叫dba字首的字典dba_objects儲存過程Object
- 查詢某個儲存過程有哪些內容儲存過程
- 在Oracle中查詢儲存過程和函式Oracle儲存過程函式
- 【sqlserver】查詢阻塞儲存過程sp_who_lockSQLServer儲存過程
- JAVA + Oracle儲存過程返回查詢結果集JavaOracle儲存過程
- 通過v$access檢視正在執行的儲存過程procedure儲存過程
- 儲存過程中的符合條件查詢 and 1= ''+@knlgName+''儲存過程
- SQL Server 2000 的分頁查詢(儲存過程)SQLServer儲存過程
- 用oracle procedure儲存過程實現自表(列存在null)查詢不等於輸入引數的記錄Oracle儲存過程Null
- oracle procedure 儲存過程輸入及輸出in out示例Oracle儲存過程
- 通用的SQL Server資料庫查詢分頁儲存過程SQLServer資料庫儲存過程
- MySQL儲存過程使用if子查詢判斷需要注意MySql儲存過程
- ASP.NET中利用儲存過程實現模糊查詢ASP.NET儲存過程
- 如何令暫時不想使用的procedure儲存過程由valid變成invalid儲存過程
- 如何讓procedure儲存過程中的異常程式碼不中斷繼續執行儲存過程
- oracle儲存過程(procedure)中執行動態SQL小記Oracle儲存過程SQL
- mysql如何呼叫儲存過程MySql儲存過程
- 查詢當前資料庫存在某個字串的儲存過程資料庫字串儲存過程
- 儲存過程中查詢資料字典檢視(v$或dba)儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- 6.5. 常用物件——6.5.6. 儲存過程物件儲存過程
- 建立儲存過程編譯無效物件儲存過程編譯物件