in MySQL erstellen Sie die Tabellendefinition (Spalten mit ihren Datentypen usw.) mit show create table table_name
sehen können.`show table` Äquivalent in Oracle SQL
Gibt es eine ähnliche Funktionalität für Oracle SQL?
in MySQL erstellen Sie die Tabellendefinition (Spalten mit ihren Datentypen usw.) mit show create table table_name
sehen können.`show table` Äquivalent in Oracle SQL
Gibt es eine ähnliche Funktionalität für Oracle SQL?
Wenn Sie über SQL * fragen Plus-Befehle (show create table table_name
erscheint nicht als eine SQL-Anweisung zu sein), können Sie den desc
Befehl
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)
Wenn Sie wirklich eine SQL-Anweisung möchten, können Sie verwenden dbms_metadata
das 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
Je nach Werkzeug, das Sie verwenden, müssen Sie set long 10000
zuerst laufen, das SQL * plus-erzählt die ersten 10.000 Bytes jeden LOB anzuzeigen, die ausgewählt wird. Wenn Ihre DDL länger ist, legen Sie einen größeren Wert fest.
Verwendung DESC
:
DESC mytable
Werden Sie die Spalten, aber leider Aussage der erstellen ist Standard Oracle-Tools nicht zur Verfügung.
SQL> gesetzt lange 1000
SQL> 0 gesetzt Seitengrße
SQL> wählen DBMS_METADATA.GET_DDL ('TABLE', 'TABLE NAME' [, 'SCHEMA']) von DUAL
Wenn Sie PL/SQL Developer verwenden; Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Ansicht. Klicken Sie rechts unten im Ansichtsfenster auf "SQL anzeigen".
DDL
ist für mich arbeiten und einfacher alles, was Sie brauchen, ist DDL (SCHEMA_OWNER).(TABLE_NAME)
zu schreiben ... zum Beispiel ddl HR.LOCATIONS;
.... HR
ist das Schema und LOCATION
ist Tabellenname ... stellen Sie sicher, Sie schreiben sowohl die SCHEMA
Namen und Tabelle NAME
hier Kapital wird der Ausgang
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" ;
Unbekannter Befehl, dies funktioniert bei Oracle nicht. – jDub9
geben Sie diesen Befehl in SQL Developer ein? oder SQL plus ... beachten Sie auch, haben Sie die Schemanamen mit Punkt eingeben und dann die Tabellennamen ... zum Beispiel 'DDL HR.EMPLOYEES;' sicherstellen, dass die Schemanamen und die Tabelle in Großbuchstaben sind. –
SQL Developer und sie waren in Großbuchstaben, aber es könnte sein, dass meine Tabellen unterhalb eines von 30 in der ‚andere Benutzer‘ Abschnitt unter dem Schema erstellt. – jDub9
desc Befehl – nightograph
@nightograph Frage stellen keine Einschränkungen und Schlüssel nicht zeigen Einschränkungen und Schlüssel und Indizes sein; sie fragt nur nach * der Tabellendefinition (Spalten mit ihren Datentypen usw.) * – Bohemian
die Frage nach Äquivalent von „show create table“ in Oracle fragt, DESC ist nicht gleichwertig, da „Show erstellen“ zeigt Tasten Indizes und DESC nicht – nightograph