簡體   English   中英

UNIX和sqldeveloper上的腳本創建表不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM