在ORACLE中给已有数据的表增加、修改、删除一个字段(或一个列)或者多个字段(或多个列)的问题

使用数据库为Oracle

因为在将数据从历史表导入当前表时,因字段个数不对,导致不能导数据。

一、将历史表的字段增加一个或者多个的SQL语句。

1、增加一个字段:(增加字段时,只能排在已有字段的后面,不能插到已有字段之间)

Alter Table t_app_si_addr_12 Add CHG_ADDR_FLAG varchar2(2);

Alter Table 表名 Add 字段名称  字段类型;

2、增加两个字段;

Alter Table t_app_si_addr_12 Add (CHG_ADDR_FLAG varchar2(2),ADD_IP_BY_IOM Varchar2(2));

Alter Table 表名 Add (字段名称  字段类型,字段名称  字段类型);

注意:在SQL server中增加多个字段,不需要加括号。

二、修改一个字段:

create table t_od_test1017(id number(2),name varchar2(4),test varchar2(10));
select a.*,a.rowid from t_od_test1017 a;
1、修改字段的类型或长度:

alter table t_od_test1017 modify (test3 number(32));--修改字段类型或长度。

Alter Table 表名  modify (字段名称  (新的)字段类型);

注意:当此列有数据时,不能将字段的长度减小,只能增加长度。

2、修改字段的名称:
alter table t_od_test1017 rename column  test3 to  new_test3;

Alter Table 表名 rename  column (旧的)字段名称  to (新的)字段名称;

在SQL server中,以上语句不行,已经实测。

正确的命令是:exec sp_rename '[BB].[OldCol]','NewCol' 

-- 注意逗号后面,没有表名,没有点号,没有方括号,执行这句,才能得到你想要的结果“NewCol”,

三、删除一个字段:

alter table t_od_test1017 drop column test2;

alter table t_od_test1017 drop column 字段名称;

注意:删除字段时候,保证此字段下没有数据。

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值