2013-08-16 7 views

cevap

31

SQL * Plus, komutlar hakkında soruyorlar (show create table table_name bir SQL deyimi olarak görünmüyor) ise, desc komutu

SQL> desc emp 
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) 

kullanabilirsiniz kullanabilirsiniz kullandığınız araç bağlı olarak dbms_metadata paket

1 select dbms_metadata.get_ddl('TABLE', 'EMP', 'SCOTT') 
    2* from dual 
SQL>/

DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT') 
-------------------------------------------------------------------------------- 

    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 DE 
FAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "USERS" 
    ALTER INDEX "SCOTT"."PK_EMP" UNUSABLE 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 DE 
FAULT CELL_FLASH_CACHE DEFAULT) 
    TABLESPACE "USERS" 
    CACHE 

, SQL * söyler, set long 10000 ilk çalıştırmanız gerekebilir Artı seçildiğinde herhangi LOB ilk 10.000 bayt görüntülemek için. DDL'niz daha uzunsa, daha büyük bir değer belirleyin.

5

Kullanım DESC:

DESC mytable 

size sütunlar gösterebilir, ama ne yazık ki ifadeyi yaratmak standart oracle araçlarını kullanarak mevcut değildir Will. Eğer gerçekten bir SQL deyimi istiyorsanız

+2

desc komut kısıtlamaları ve tuşları ve – nightograph

+0

@nightograph soru kısıtlamaları ve anahtarlar için sormuyor dizinleri göstermez olacak burada başkentte tablo NAME; sadece tablo tanımı (veri türleri ile sütunlar vb) sorar * – Bohemian

+3

soru Oracle'da "show create table" eşdeğerini soruyor, "show göster" anahtar indekslerini gösterir ve DESC olmadığından DESC eşdeğer değildir – nightograph

5

SQL> uzun 1000'den

SQL> set Pagesize 0

SQL> DBMS_METADATA.GET_DDL ('TABLO', 'TABLO NAME' [ 'şema']) İKİLİ

den
3

seçmek PL/SQL Geliştirici kullanıyorsanız; Tabloya sağ tıklayın, Görünüm penceresinin sağ altındaki 'Görünüm SQL' butonuna tıklayın.

0

DDL örnek ddl HR.LOCATIONS; .... HR için ... bana ve ihtiyacınız olan tüm DDL (SCHEMA_OWNER).(TABLE_NAME) yazmaktır daha basit için çalıştığını şema ve LOCATION hem SCHEMA adını yazmak emin olun ... masa adıdır ve çıkış

CREATE TABLE "HR"."LOCATIONS" 
( "LOCATION_ID" NUMBER(4,0), 
"STREET_ADDRESS" VARCHAR2(40), 
"POSTAL_CODE" VARCHAR2(12), 
"CITY" VARCHAR2(30) CONSTRAINT "LOC_CITY_NN" NOT NULL ENABLE, 
"STATE_PROVINCE" VARCHAR2(25), 
"COUNTRY_ID" CHAR(2), 
CONSTRAINT "LOC_ID_PK" PRIMARY KEY ("LOCATION_ID") 
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING 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 "EXAMPLE" ENABLE, 
CONSTRAINT "LOC_C_ID_FK" FOREIGN KEY ("COUNTRY_ID") 
    REFERENCES "HR"."COUNTRIES" ("COUNTRY_ID") ENABLE 
) SEGMENT CREATION IMMEDIATE 
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING 
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 "EXAMPLE" ; 
COMMENT ON COLUMN "HR"."LOCATIONS"."LOCATION_ID" IS 'Primary key of 
locations table'; 
COMMENT ON COLUMN "HR"."LOCATIONS"."STREET_ADDRESS" IS 'Street address 
of an office, warehouse, or production site of a company. 
Contains building number and street name'; 
COMMENT ON COLUMN "HR"."LOCATIONS"."POSTAL_CODE" IS 'Postal code of 
the 
location of an office, warehouse, or production site 
of a company. '; 
COMMENT ON COLUMN "HR"."LOCATIONS"."CITY" IS 'A not null column that 
shows city where an office, warehouse, or 
production site of a company is located. '; 
COMMENT ON COLUMN "HR"."LOCATIONS"."STATE_PROVINCE" IS 'State or 
Province where an office, warehouse, or production site of a 
company is located.'; 
COMMENT ON COLUMN "HR"."LOCATIONS"."COUNTRY_ID" IS 'Country where an 
office, warehouse, or production site of a company is 
located. Foreign key to country_id column of the countries table.'; 
COMMENT ON TABLE "HR"."LOCATIONS" IS 'Locations table that contains 
specific address of a specific office, 
warehouse, and/or production site of a company. Does not store 
addresses/
locations of customers. Contains 23 rows; references with the 
departments and countries tables. '; 
CREATE INDEX "HR"."LOC_CITY_IX" ON "HR"."LOCATIONS" ("CITY") 
PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING 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 "EXAMPLE" ; 
CREATE INDEX "HR"."LOC_COUNTRY_IX" ON "HR"."LOCATIONS" ("COUNTRY_ID") 
PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING 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 "EXAMPLE" ; 
CREATE INDEX "HR"."LOC_STATE_PROVINCE_IX" ON "HR"."LOCATIONS" 
("STATE_PROVINCE") 
PCTFREE 10 INITRANS 2 MAXTRANS 255 NOLOGGING 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 "EXAMPLE" ; 
+0

Unkown komutu, bu Oracle'da benim için çalışmıyor. Bu komutu SQL geliştiricisinde – jDub9

+0

yazıyor musunuz? veya sql plus ... ayrıca şema adını nokta ve sonra tablo adı yazmanız gerektiğini unutmayın. Örneğin, 'ddl HR.EMPLOYEES;' şema adının ve tablonun büyük harflerle yazıldığından emin olun. –

+0

SQL Developer ve bunlar büyük harflerle yazılmışlardı, ancak tablolarım şemanın altındaki "diğer kullanıcılar" bölümünde 30'dan birinin altında oluşturulmuş olabilir. – jDub9

İlgili konular