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

Oracle:कमांड का वर्णन करने के लिए समान स्क्रिप्ट

मान लें कि आपकी क्वेरी कुछ इस तरह है (ध्यान दें कि मैं हर अलग डेटा प्रकार को संभालने के लिए परेशान नहीं हूं)

select column_name "Name",
       (case when nullable = 'N'
             then 'NOT NULL'
             else null
         end) "Null?",
       (case when data_type = 'DATE'
             then data_type
             when data_type = 'NUMBER' and data_scale > 0
             then data_type || '(' || data_precision || ',' || data_scale || ')'
             when data_type = 'NUMBER' and data_scale = 0
             then data_type || '(' || data_precision || ')'
             when data_type = 'VARCHAR2'
             then data_type || '(' || data_length || ')'
        end) "Type"
  from dba_tab_cols
 where table_name = 'EMP'
 order by column_id

आप आउटपुट को प्रारूपित करने के लिए कुछ SQL*Plus कमांड जारी कर सकते हैं

SQL> column "Nmae" format a30;
SQL> column "Null?" format a8;
SQL> column "Type" format a30;

और फिर आपकी क्वेरी का आउटपुट DESCRIBE . के आउटपुट से मेल खाएगा आदेश

SQL> ed
Wrote file afiedt.buf

  1  select column_name "Name",
  2         (case when nullable = 'N'
  3               then 'NOT NULL'
  4               else null
  5           end) "Null?",
  6         (case when data_type = 'DATE'
  7               then data_type
  8               when data_type = 'NUMBER' and data_scale > 0
  9               then data_type || '(' || data_precision || ',' || data_scale || ')'
 10               when data_type = 'NUMBER' and data_scale = 0
 11               then data_type || '(' || data_precision || ')'
 12               when data_type = 'VARCHAR2'
 13               then data_type || '(' || data_length || ')'
 14          end) "Type"
 15    from dba_tab_cols
 16   where table_name = 'EMP'
 17*  order by column_id
SQL> /

Name                           Null?    Type
------------------------------ -------- ------------------------------
EMPNO                          NOT NULL NUMBER(4)
ENAME                                   VARCHAR2(10)
JOB                                     VARCHAR2(9)
MGR                                     NUMBER(4)
HIREDATE                                DATE
SAL                                     NUMBER(7,2)
COMM                                    NUMBER(7,2)
DEPTNO                                  NUMBER(2)

8 rows 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. एकाधिक रिकॉर्ड पर Oracle अधिकतम तिथि चुनें

  2. दो डेटाबेस तालिकाओं के बीच डेटा की तुलना के आधार पर ऑरैकल व्यू बनाएं

  3. Oracle 10g में एक टेबल कॉलम का नाम कैसे बदलें

  4. Oracle में READONLY कॉलम बनाने का सबसे आसान तरीका क्या है?

  5. तालिका स्तंभों के लिए Oracle की बिट डेटाटाइप की कमी