Oracle表中已有数据修改字段类型方式

 更新时间:2023年12月02日 10:32:13   作者:sunday2018  
这篇文章主要介绍了Oracle表中已有数据修改字段类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Oracle表中已有数据修改字段类型

Oracle的表中已存在了数据,这时再来修改表的字段类型就无法修改。

例如:

number类型改成number(22),这时数据库会报

ORA-01440: column to be modified must be empty to decrease precision or scale

推荐使用方法1,方法2如果字段不能为空就无法使用

方法1

备份原表数据,清除表数据,修改字段类型,还原数据

-- 1.创建备份表
create table test_bak as select * from test;
-- 2.清除原表数据
truncate table test;
-- 3.修改字段类型
alter table test modify test_id number(22);
-- 4.还原数据
insert into test select * from test_bak;
commit;

方法2

只备份需要修改的字段的数据,可以在原表上新增备份字段,也可以新建一张表备份字段数据

-- 1.新增字段
alter table test add test_id_bak number;
-- 2.复制数据
update test set test_id_bak = test_id;
commit;
-- 3.清除字段数据并修改字段类型
update test set test_id = null;
commit;
-- 4. 修改字段类型
alter table test modify test_id number(22);
-- 5.还原数据
update test set test_id=test_id_bak;
commit;
-- 6.删除临时字段
alter table test drop column test_id_bak;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux下Oracle删除用户和表空间的方法

    Linux下Oracle删除用户和表空间的方法

    这篇文章主要介绍了Linux下Oracle删除用户和表空间的方法,涉及Oracle数据库用户和表操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符

    Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符

    这篇文章主要介绍了Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符的相关资料,需要的朋友可以参考下
    2018-03-03
  • ORACLE学习笔记-新建用户及建表篇

    ORACLE学习笔记-新建用户及建表篇

    Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。世界第一个支持SQL语言的商业数据库,定位于高端工作站,以及作为服务器的小型计算机,Oracle公司的整个产品线包括数据库服务器、企业商务应用套件、应用开发和决策支持工具
    2014-08-08
  • oracle(plsql)生成流水号

    oracle(plsql)生成流水号

    这篇文章主要介绍了oracle(plsql)生成流水号,需要的朋友可以参考下
    2014-03-03
  • ORACLE数据库中Rownum用法详解

    ORACLE数据库中Rownum用法详解

    这篇文章主要介绍了ORACLE数据库中ROWNUM用法详解,对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,且rownum不能以任何表的名称作为前缀,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • ORACLE8的分区管理

    ORACLE8的分区管理

    ORACLE8的分区管理...
    2007-03-03
  • oracle 如何关闭打开归档日志

    oracle 如何关闭打开归档日志

    本文将介绍oracle 归档日志的关闭打开方法,需要了解的朋友可以参考下
    2012-11-11
  • oracle 11g的安装注意事项总结

    oracle 11g的安装注意事项总结

    这篇文章主要给大家介绍了关于oracle 11g的安装注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • oracle删除已存在的表的实例

    oracle删除已存在的表的实例

    查询系统表,判断表是否存在,存在则直接删除
    2013-02-02
  • Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍

    Oracle创建自增字段--ORACLE SEQUENCE的简单使用介绍

    在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方接下来为大家介绍下Oracle创建自增字段方法感兴趣的各位可不要错过了哈
    2013-03-03

最新评论