[英]Script create table on UNIX and sqldeveloper are different
如果在sqldeveloper命令中,ddifference是什么
从双中选择dbms_metadata.get_ddl('TABLE','table_name','owner');
给我结果
CREATE TABLE "OWNER"."TABLE_NAME"
("HENCD" VARCHAR2(4),
"HCACT" VARCHAR2(12),
"HETID" VARCHAR2(30),
"HERID" VARCHAR2(20),
"HFNCD" VARCHAR2(1),
"HPSIN" VARCHAR2(2)
CONSTRAINT "PK_TRANQ_BPSBATCH" PRIMARY KEY ("HETID", "HFNCD", "FIRM_CUST_IND")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "DAT01" ENABLE
) SEGMENT CREATION IMMEDIATE
PCTFREE 20 PCTUSED 80 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 302858240 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "DAT01" "
但是在实际脚本中,我看到了:
DROP TABLE table_name
/
CREATE TABLEtable_name(
hencd VARCHAR2(4),
hcact VARCHAR2(12),
hetid VARCHAR2(20),
herid VARCHAR2(20),
hfncd VARCHAR2(1),
hpsin VARCHAR2(1), )
GRANT SELECT ON tran_queue_bps_batch TO public
/
GRANT ALL ON tran_queue_bps_batch TO dtebatch
/
-- Indexes for TRAN_QUEUE_BPS_BATCH
CREATE INDEX indname1 ON table_name (intact_tag, hasdt)
TABLESPACE idx01
/
我必须使用哪一个来删除并重新创建带有其他列的表?
“我必须使用哪一个来删除并重新创建带有附加列的表?”
如果您想要做的是添加一列,那么您应该编写一个脚本来执行
alter table table_name add new_column number --- or whatever.
如果不需要,删除并重新创建表没有任何意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.