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

ओरेकल व्यू से अंतर्निहित प्राथमिक (या अद्वितीय) कुंजी कॉलम कैसे खोजें

आप उपयोगकर्ता_निर्भरता दृश्य के माध्यम से वह जानकारी प्राप्त कर सकते हैं:

SQL> CREATE TABLE t_a
  2  (   id number(7)
  3  ,   primary key(id)
  4  )
  5  /

Table created.

SQL> CREATE VIEW v_a AS SELECT * FROM t_a
  2  /

View created.

SQL> select c.constraint_name
  2    from user_dependencies d
  3       , all_constraints c
  4   where d.name = 'V_A'
  5     and d.referenced_type = 'TABLE'
  6     and d.referenced_link_name is null
  7     and d.referenced_owner = c.owner
  8     and d.referenced_name = c.table_name
  9     and c.constraint_type = 'P'
 10  /

CONSTRAINT_NAME
------------------------------
SYS_C0051559

1 row selected.

सादर,
रोब.

संपादित करें :संभावित दृश्य कॉलम नामों के लिए, आप इस क्वेरी का उपयोग कर सकते हैं। ध्यान दें कि इस बात की कोई गारंटी नहीं है कि ऐसा कॉलम आपके विचार में मौजूद है।

SQL> select c.constraint_name
  2       , 'V_' || substr(c.table_name,3) || '.' || cc.column_name possible_view_column
  3    from user_dependencies d
  4       , all_constraints c
  5       , all_cons_columns cc
  6   where d.name = 'V_A'
  7     and d.referenced_type = 'TABLE'
  8     and d.referenced_link_name is null
  9     and d.referenced_owner = c.owner
 10     and d.referenced_name = c.table_name
 11     and c.constraint_type = 'P'
 12     and c.owner = cc.owner
 13     and c.constraint_name = cc.constraint_name
 14  /

CONSTRAINT_NAME                POSSIBLE_VIEW_COLUMN
------------------------------ -------------------------------------------------------------
SYS_C0051561                   V_A.ID

1 row selected.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. धाराप्रवाह निबर्ननेट ओरेकल पहचानकर्ता बहुत लंबा - उपनाम नाम मुद्दा

  2. Oracle SQL कॉलम प्रकार को संख्या से varchar2 में बदलने के लिए, जबकि इसमें डेटा होता है

  3. क्या पीएल/एसक्यूएल में स्ट्रिंग को विभाजित करने के लिए कोई फ़ंक्शन है?

  4. ORA-00904:अच्छा रिज़ॉर्ट:अमान्य पहचानकर्ता

  5. Oracle - रिकॉर्ड अपडेट करें और उसी क्वेरी में अपडेट की गई तारीख लौटाएं