SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;

解决方案 »

  1.   

    select * from dba_tables
      

  2.   

    SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
    FROM USER_TABLES u;
    这个就可以
      

  3.   

    )关于DBMS_METADATA.GET_DDL的使用 
    SQL> SHOW USER
    USER 为"SYS"
    SQL> CREATE TABLE HR.A(A CHAR(10));表已创建。SQL> SET LONG 3000
    SQL> SET PAGESIZE 100
    SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','A','HR') FROM DUAL;DBMS_METADATA.GET_DDL('TABLE','A','HR')
    --------------------------------------------------------------------------------CREATE TABLE "HR"."A"
    ( "A" CHAR(10)
    ) 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)
    TABLESPACE "EXAMPLE"SQL> ALTER TABLE HR.A ADD B BLOB;表已更改。SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','A','HR') FROM DUAL;
    ERROR:
    ORA-19206: 用于查询或 REF CURSOR 参数的值无效
    ORA-06512: 在"SYS.DBMS_XMLGEN", line 83
    ORA-06512: 在"SYS.DBMS_METADATA", line 345
    ORA-06512: 在"SYS.DBMS_METADATA", line 410
    ORA-06512: 在"SYS.DBMS_METADATA", line 449
    ORA-06512: 在"SYS.DBMS_METADATA", line 615
    ORA-06512: 在"SYS.DBMS_METADATA", line 1221
    ORA-06512: 在line 1未选定行SQL>一个表中包含BLOB字段能否用DBMS_METADATA查看表的定义?知道了,学习中
      

  4.   

    不用那么复杂,到广州太平洋电脑网下载个objectbrowser,
    看一看就可以了,都是图形化了的,还记什么命令呢?
      

  5.   

    to xinghe2004() 
    不好意思,我把回答别人问题的答案贴在这儿了,贴错位置了,呵呵