Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle के DBA_DEPENDENCIES दृश्य की पुनरावर्ती सूची सूची

आप अपने CONNECT BY के बाद NOCYCLE कीवर्ड निर्दिष्ट करना चाहते हैं:

यानी

SELECT NAME, 
       TYPE, 
       REFERENCED_NAME, 
       REFERENCED_TYPE 
  FROM DBA_DEPENDENCIES 
 WHERE OWNER='FOO' 
   AND NAME='VIEW_01' 
CONNECT BY NOCYCLE
  PRIOR REFERENCED_NAME = NAME;

यहां NOCYCLE और "CONNECT_BY_ISCYCLE" कीवर्ड के बारे में अधिक जानकारी है:http://www.dba -oracle.com/t_advanced_sql_connect_by_loop.htm

और यहां:http://download.oracle. com/docs/cd/B19306_01/server.102/b14200/pseudocolumns001.htm

आशा है कि यह मदद करेगा...

संपादित करें:टिप्पणियों के बाद, आप खंड के साथ प्रारंभ करने से चूक गए हैं।

SELECT NAME, 
       TYPE, 
       REFERENCED_NAME, 
       REFERENCED_TYPE 
  FROM DBA_DEPENDENCIES 
 WHERE OWNER='FOO' 
 START WITH NAME='VIEW_01' 
CONNECT BY NOCYCLE
  PRIOR REFERENCED_NAME = NAME;

BTW, OWNER='FOO' रखते हुए जहां क्लॉज किसी भी निर्भरता को केवल FOO के ऑब्जेक्ट पर लौटाता है, ताकि आप संभवतः अन्य स्कीमा से निर्भरता को याद कर सकें।

संपादित करें 2:देखने की तालिका की प्राथमिक कुंजी स्वामी है, इस प्रकार नाम का चयन दोनों से शुरू होना चाहिए और दोनों से जुड़ना चाहिए। वांछित परिणामों को फ़िल्टर करने के लिए आप इसका उपयोग कर सकते हैं।

SELECT OWNER, NAME, TYPE,  
   REFERENCED_OWNER,
   REFERENCED_NAME, 
   REFERENCED_TYPE 
FROM DBA_DEPENDENCIES 
-- where referenced_type='TABLE'
START WITH owner = 'FOO' AND NAME='VIEW_01' 
CONNECT BY NOCYCLE
   PRIOR REFERENCED_NAME = NAME
   AND PRIOR REFERENCED_OWNER = OWNER;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle क्वेरी निष्पादन समय

  2. पीएल/एसक्यूएल ब्लॉक में एक रिकॉर्ड प्रकार को परिभाषित करें जो स्वयं के संग्रह को संदर्भित करता है

  3. Oracle का उपयोग करके ट्रिगर बनाने में समस्या

  4. मैं तत्काल कथन निष्पादित करने में बाइंड वैरिएबल का उपयोग क्यों नहीं कर सकता?

  5. PL/SQL में किसी भी देश का वर्तमान स्थानीय समय प्राप्त करें