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

तालिका की बाधाओं को कैसे देखें उदाहरण के लिए यदि यह प्राथमिक कुंजी या अद्वितीय कुंजी है?

आप दो दृश्यों में शामिल हो सकते हैं, USER_CONSTRAINTS और USER_CONS_COLUMNS

SELECT a.*,
  b.constraint_type
FROM user_cons_columns A,
  user_constraints b
WHERE A.owner        =b.owner
AND A.constraint_name=b.constraint_name
AND A.table_name     = b.table_name
and a.table_name='CLASS'
/

उदाहरण के लिए,

SQL> SELECT a.*,
  2    b.constraint_type
  3  FROM user_cons_columns A,
  4    user_constraints b
  5  WHERE A.owner        =b.owner
  6  AND A.constraint_name=b.constraint_name
  7  AND A.table_name     = b.table_name
  8  and a.table_name='EMP'
  9  /

OWNER      CONSTRAINT_NAME      TABLE_NAME COLUMN_NAME            POSITION C
---------- -------------------- ---------- -------------------- ---------- -
SCOTT      PK_EMP               EMP        EMPNO                         1 P
SCOTT      FK_DEPTNO            EMP        DEPTNO                        1 R

SQL>

दूसरा तरीका, DBMS_METADATA.GET_DDL . का उपयोग करें तालिका के लिए डीडीएल उत्पन्न करने के लिए। इसमें टेबल की पूरी जानकारी होगी -

SQL> set long 200000 pages 0 lines 131
SQL> column txt format a121 word_wrapped
SQL> select dbms_metadata.get_ddl('TABLE', 'EMP') from dual;

  CREATE TABLE "SCOTT"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0),
         CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE,
         CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
          REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"


SQL>

तो, आप देख सकते हैं कि जेनरेट किए गए डीडीएल में टेबल की पूरी जानकारी है।




  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. एसक्यूएल त्रुटि 'पैरेंट कुंजी नहीं मिली' गलत तरीके से प्रयुक्त विदेशी कुंजी के लिए?