Trong MySql bạn có thể xem định nghĩa bảng (cột có kiểu dữ liệu của chúng, v.v.) với show create table table_name
.`hiển thị tạo bảng` tương đương trong oracle sql
Có chức năng tương tự cho oracle sql không?
Trong MySql bạn có thể xem định nghĩa bảng (cột có kiểu dữ liệu của chúng, v.v.) với show create table table_name
.`hiển thị tạo bảng` tương đương trong oracle sql
Có chức năng tương tự cho oracle sql không?
Nếu bạn đang hỏi về SQL * Plus lệnh (show create table table_name
không xuất hiện như một câu lệnh SQL), bạn có thể sử dụng desc
lệnh
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)
Nếu bạn thực sự muốn có một câu lệnh SQL, bạn có thể sử dụng các dbms_metadata
gói
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
Tùy thuộc vào công cụ mà bạn đang sử dụng, bạn có thể cần phải chạy set long 10000
đầu tiên, mà nói với SQL * Plus để hiển thị 10.000 byte đầu tiên của bất kỳ LOB được chọn. Nếu DDL của bạn dài hơn, hãy đặt giá trị lớn hơn.
Sử dụng DESC
:
DESC mytable
sẽ cho bạn thấy những cột, nhưng tiếc là tạo ra tuyên bố là không có sẵn bằng các công cụ oracle chuẩn.
SQL> set dài 1000
SQL> thiết pagesize 0
SQL> chọn DBMS_METADATA.GET_DDL ('TABLE', 'BẢNG TÊN' [, 'SCHEMA']) từ DUAL
Nếu bạn đang sử dụng PL/SQL Developer; Nhấp chuột phải vào bảng, chọn View, ở phía dưới bên phải của cửa sổ xem, nhấp vào nút 'Xem SQL'.
DDL
đang làm việc cho tôi và đơn giản hơn bạn chỉ cần có để viết DDL (SCHEMA_OWNER).(TABLE_NAME)
... ví dụ ddl HR.LOCATIONS;
.... HR
là giản đồ và LOCATION
là tên bảng ... chắc chắn rằng bạn viết cả tên SCHEMA
và bảng NAME
tại thủ đô ở đây sản lượng sẽ được
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" ;
Lệnh không xác định, điều này không làm việc cho tôi trong Oracle. – jDub9
bạn có đang gõ lệnh này trong nhà phát triển SQL không? hoặc sql plus ... cũng lưu ý rằng bạn phải nhập tên lược đồ có dấu chấm và sau đó là tên bảng ... ví dụ: 'ddl HR.EMPLOYEES;' đảm bảo tên lược đồ và bảng nằm trong các chữ hoa. –
Nhà phát triển SQL và chúng được viết hoa, nhưng có thể là các bảng của tôi được tạo bên dưới một trong 30 trong phần ‘người dùng khác’ bên dưới lược đồ. – jDub9
lệnh desc không hiển thị hạn chế và các phím và lập chỉ mục – nightograph
@nightograph câu hỏi không yêu cầu hạn chế và các phím; nó chỉ yêu cầu * định nghĩa bảng (cột với các kiểu dữ liệu của chúng vv) * – Bohemian
câu hỏi được yêu cầu tương đương với "show create table" trong Oracle, DESC không tương đương vì "show create" hiển thị các chỉ mục khóa và DESC không – nightograph