相当于Oracle中的.schema

时间:2015-11-18 21:20:56

标签: oracle schema

我对数据库中的表有读访问权限,我想获得关系模式。在Sqlite3中,我知道你可以做.schema。但是,我想知道OracleDB中的等价物是什么。似乎很难找到,因为他们已经重新定位了模式这个词。

1 个答案:

答案 0 :(得分:0)

据我所知SQLite link

  

.schema?TABLE?显示CREATE语句                            如果指定了TABLE,则只显示匹配的表                            LIKE模式表。

要获取Oracle对象的DDL / create语句,您需要使用包DBMS_METADATA

  

示例:获取当前架构中所有完整表的DDL,   过滤掉嵌套表和溢出段

--create test table
create table my_test_table(col1 varchar(50));

--get DDL
SELECT table_name, DBMS_METADATA.GET_DDL('TABLE',u.table_name)
     FROM USER_ALL_TABLES u
     WHERE u.nested='NO' 
     AND (u.iot_type is null or u.iot_type='IOT');

--query result 
    TABLE_NAME  DBMS_METADATA.GET_DDL('TABLE',
1   MY_TEST_TABLE   <CLOB>

--DDL for MY_TEST_TABLE will be
  CREATE TABLE "TESTUSER"."MY_TEST_TABLE" 
   (    "COL1" VARCHAR2(50)
   ) 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"