zoukankan      html  css  js  c++  java
  • Oracle查看表结构的几种方法(转后加工)

    1、 DESCRIBE 命令
    使用方法如下:
    SQL> describe WX_ADVANCEUP

    (WX_ADVANCEUP为表名)
    显示的结果如下:
     名称                                      是否为空? 类型
     ----------------------------------------- -------- ----------------------------

    2、 DBMS_METADATA.GET_DDL包
    使用方法如下:

     SELECT DBMS_METADATA.GET_DDL('TABLE','WX_ADVANCEUP') FROM DUAL;

    如果显示的结果并未完整,如下:


      CREATE TABLE "SCOTT"."WX_ADVANCEUP"
       (    "NAME" NCHAR(6),
            "ADDR" NVARCHAR2(16

    那么修改如下:

    SET LONG 9999  
    SELECT DBMS_METADATA.GET_DDL('TABLE','WX_ADVANCEUP') FROM DUAL;

    则显示如下的结果:

    DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST')
    ------------------------------------------------------------------------------
      CREATE TABLE "SCOTT"."NCHAR_TST"
       (    "NAME" NCHAR(6),
            "ADDR" NVARCHAR2(16),
            "SAL" NUMBER(9,2)
       ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING
      STORAGE(INITIAL 12288 NEXT 12288 MINEXTENTS 1 MAXEXTENTS 249 PCTINCREASE 50
      FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM"

    3、 方法:
      通过Oracle中的user_tab_cols, user_col_comments, user_constraints, user_cons_columns表联合查询。
      user_tab_cols用来获取对应用户表的列信息;
      user_col_comments用来获取对应用户表列的注释信息;
      user_constraints用来获取用户表的约束条件;
      user_cons_columns约束中用户可访问列。

    select T.TABLE_NAME, T.COLUMN_NAME, T.DATA_TYPE,T.DATA_LENGTH,T.NULLABLE,T.COLUMN_ID from user_tab_columns t where table_name='WX_ADVANCEUP';

    参考sql语句:

    select t.table_name,t.column_name,t.data_type,t.data_length,t.nullable,t.column_id,c.comments,   
           (SELECT CASE WHEN t.column_name=m.column_name THEN 1 ELSE 0 END FROM DUAL) iskey  
           FROM user_tab_cols t, user_col_comments c, (select m.column_name from user_constraints s, user_cons_columns m   
                 where lower(m.table_name)='us_cities' and m.table_name=s.table_name  
                 and m.constraint_name=s.constraint_name and s.constraint_type='P') m  
           WHERE lower(t.table_name)='us_cities'   
                 and c.table_name=t.table_name   
                 and c.column_name=t.column_name   
                 and t.hidden_column='NO'   
     order by t.column_id  
  • 相关阅读:
    IXmlSerializable With WCFData Transfer in Service Contracts
    Difference Between XmlSerialization and BinarySerialization
    Using XmlSerializer (using Attributes like XmlElement , XmlAttribute etc ) Data Transfer in Service Contracts
    Introducing XML Serialization
    Version Tolerant Serialization
    Which binding is bestWCF Bindings
    Data Transfer in Service Contracts
    DataContract KnownTypeData Transfer in Service Contracts
    Using the Message ClassData Transfer in Service Contracts
    DataContract POCO SupportData Transfer in Service Contracts
  • 原文地址:https://www.cnblogs.com/slu182/p/4460705.html
Copyright © 2011-2022 走看看