数据库

 首页 > 数据库 > Oracle > oracle添加列到指定位置的方法

oracle添加列到指定位置的方法

分享到:
【字体:


oracle添加列到指定位置
 
oracle中,
1.如果表已经装载了大量数据应该是用视图来代替最好。
alter table TableNM add NewField varchar2(10)
rename TableNM to TableNMX  www.2cto.com  
create or replace view TableNM 
as
  select Field1,Field2,NewField ,Field3 from TableNMX
 
2.不是很大的数据,可以
alter table TableNM rename column Field3 to NewField 
alter table TableNM add Field3 .....
此方法涉及到Field3 ,NewField 的数据类型,数据字段间转移
 
3.小的数据量,倒可以考虑drop 再create
示例:
alter table INV_SALESSETTLEMENTDETAIL add
(
   realTimeQuantityKg number(13,2) default '0',
   realTimeQuantityLiter number(13,2) default '0'
)
;
create table INV_SALESSETTLEMENTDETAIL1 as 
select
        "SALESDETAILGID",
        "SETTLEMENTGID",
        "OILARCHGID",
        "ARCHNAME",
        "ARCHSPEC",
        "SALESTIME",
        "LOADINGBILLGID",
        "DENSITY",
        "TINGID",
        "SITENO",
        "OUTAMOUNTKG",
        "OUTAMOUNTLITER",
        realTimeQuantityKg,
        realTimeQuantityLiter,
        "TAXRATE",  www.2cto.com  
        "SETTLEMENTPRICEKGTAX",
        "BUSINESSMARK",
        "SETTLEMENTPRICEKG",
        "SETTLEMENTPRICELITERTAX",
        "SETTLEMENTPRICELITER",
        "OTHERMONEYAMOUNT",
        "PAYMENTAMOUNT",
        "REMARK",
        "CREATETIME",
        "CREATOR"
    from
        "TRANSPORTOIL"."INV_SALESSETTLEMENTDETAIL"
        ;
drop table INV_SALESSETTLEMENTDETAIL;
rename INV_SALESSETTLEMENTDETAIL1 to INV_SALESSETTLEMENTDETAIL;
 

 
 
作者 liufeng_king
分享到:
Sqlplus与oracle连接问题汇总
问题一: 连接时,提示无监听程序   可能没有监听程序,或者服务没有起。 1)建立监听:   2)如果已有监听,可能是监听服务没有起:   问题二: Sqlplus连接本地数据库时,没有响应,使用客户端(toad\plsql developer)时也是如此。并且与oracle连接测试也是没有响应。  www.2cto.com   最近,启动本地oracle...
dbms_metadata遇到ORA-31603的解决方案
  环境: OS:Red Hat Linux As 5 DB:10.2.0.1   1.用户A获取用户B下的表的DDL报如下错误 SQL> SELECT dbms_metadata.get_ddl('TABLE','TB_TEST','USER_B') FROM dual; ERROR: ORA-31603: object "TB_TEST" of type TABLE not found in schema "USER_B" ORA-06512: at "SYS.DBMS_SYS_ERROR",...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……