**在oracle数据库中,当要修改表中已有数据的列的数据类型时,如果修改后的类型与原类型一致时,可以使用以下语句进行相应修改。。**
alter table 表名 modify 列名 数据类型;
若是不一致时,并且列中有数据,则会提示错误信息,如下:
错误提示
在这里可以用以下方式进行修改,以pf_customer表中idtype列为例。。
--修改原字段名
ALTER TABLE pf_customer RENAME COLUMN IDTYPE TO IDTYPE_BF;
--添加一个和原字段同名的字段
ALTER TABLE pf_customer ADD IDTYPE VARCHAR2(2);
--将原来的数据更新到新字段中,这是要注意,一定要显示进行数据类型转换
UPDATE pf_customer SET IDTYPE = CAST(IDTYPE_BF AS VARCHAR2(2));
--删除原来的备份字段
ALTER TABLE pf_customer DROP COLUMN IDTYPE_BF;
鉴于本人刚刚入行,所以给出的可能过于复杂。。但实际证明可以使用,希望各路大神多多包涵,多多提宝贵意见。。