`

oracle变更字段类型

 
阅读更多
1,如果只是单纯的把字段改大,比如numeric (16,2)--->numeric (16,4) ,可直接 alter table 表名 modify ( 字段名 numeric (16,4) 2,由于需求变动,现要将一个类型NUMBER(8,2)的字段类型改为 char。 大体思路如下: 将要更改类型的字段名改名以备份,然后添加一个与要更改类型的字段名同名的字段(原字段已经改名),然后更新数据,最后删除改名备份的字段。 以下操作在 Oracle 10.2.0.1.0 中通过。 /*修改原字段名*/ ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1; /*添加一个和原字段同名的字段*/ ALTER TABLE 表名 ADD 字段名 VARCHAR2(30); /* 将原来的数据更新到新字段中 这是要注意,一定要显示进行数据类型转换(不同于MSSQL) */ UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30)); /*删除原来的备份字段*/ ALTER TABLE 表名 DROP COLUMN 字段名1; 其他方案: 今天公司因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型 要是没有数据的话直接用以下语句即可 alter table tb_test modify permile number(5,2); 但是有数据的话 就不能用上面方法了, alter table tb_test add permile_temp number(5,2) update tb_test set permile_temp=permile; alter table drop column permile; alter table test rename column permile_temp to permile; 这种方法会使列名发生变化,而且字段顺序增加 有可能发生行迁移,对应用程序会产生影响 以下方法是比较好的方法 不用使列名发生变化 也不会发生表迁移,但这个有个缺点是表要更新两次 如果数据量较大的话 产生的undo和redo更多 ,前提也是要停机做 要是不停机的话 ,也可以采用在线重定义方式来做 以下是脚本: alter table tb_test add permile_temp number; -- Add/modify columns alter table tb_test modify PERMILE null; update tb_test set permile_temp=permile,permile=null; commit; alter table tb_test modify permile number(5,2); update tb_test set permile=permile_temp,permile_temp=null; commit; alter table tb_test drop column permile_temp; alter table tb_test modify PERMILE not null; select * from tb_test ;
分享到:
评论

相关推荐

    oracle变更数据表字段类型

    oracle变更数据表字段类型 ,简单易懂方便快捷!

    oracle通过日志查看数据库变更情况.txt

    oracle通过日志查看数据库变更情况.txt

    kafka-connect-oracle:Kafka Source Connector for Oracle

    解析的字段和值在模式中保留在正确的字段类型中。 消息具有DML操作的行字段的旧(更改前)和新(更改后)值。 插入操作只有标记为“数据”的行的新值。 更新操作具有标记为“数据”的新数据,并且还包含标记为...

    ORACLE查询表最近更改数据的方法

    修改项目时,涉及到了Oracle中许多表的修改(包括:增加、删除字段,修改注释等)。由于开始没有进行记录,造成在上测试机时,忘记了具体修改过哪些表了。后来在网上查找了一些资料,例如: 代码如下: 1、select uat...

    oracle监控某表变动触发器例子(监控增,删,改)

    使用oracle触发器 实现对某个表的增改删的监控操作,并记录到另一个表中。 代码: 代码如下:create or replace trigger test_trigger before insert or update or delete on test_table for each row declare v_...

    数据导入导出1.1

    数据头部可设置为出力字段,字段名,字段类型中的任意一个和多个  2.可设置改行,超过最大列256列时自动换行  3.可设置出力方向,横向和纵向出力  4.导出数据到新的Excel中  5.导出数据到已打开的Excel的任意...

    oracle数据库表设计.pptx

    kkkk@ee.net,phone:222456 20040901 mary famale email:kkk@fff.net phone:123455 以上的表就不符合,第一范式:主键重复(实际中数据库不允许重复的),而且Contact字段可以再分所以变更为正确的是 StudyNo " Name " ...

    ORACLE数据库智能化管理系统2008演示

    13. 条件参数及数据变更的智能化字典辅助输入功能,使您的工作更加轻松,用起来更加顺手。 14. 结果数据智能化创建计算,从而进一步使结果数据更加理想化,省去了您宝贵的数据计算时间。 15. 智能化SQL历史语句保存...

    数据库设计规范(3).doc

    创建、修改(+修改说明)、删除(+删除说明) 目 录 1 编写目的 1 2 数据库策略 1 2.1 数据库对象长度策略 1 2.2 数据完整性策略 1 2.3 规范化设计与性能之间的权衡策略 1 2.4 字段类型的定义与使用策略 1 3 命名...

    数据导入导出工具 v1.8.zip

    1.数据头部可设置为出力字段,字段名,字段类型中的任意一个和多个 2.可设置改行,超过最大列256列时自动换行 3.可设置出力方向,横向和纵向出力 4.导出数据到新的Excel中 5.导出数据到已打开的Excel的任意位置 ...

    Oracle9i的init.ora参数中文说明

    说明: 指定一个字符串值, 设置 TIME 数据类型的默认值, 该数据类型包含 HOUR, MINUTE 和 SECOND 这几个日期时间字段。 语法: TIME '09:26:50' (将值存储为 7 个字节)。 默认值: 从 NLS_TERRITORY 中获得 nls_time...

    会议管理系统数据库设计文档.doc

    在oracle数据库设计中,一 般来说,对于定长的字符数据字段,取字符类型(char),对于不定长的,取变长字符类 型(varchar)。 2.对于以分类形式出现的字段,建议不使用字符类型,而使用数字类型。如:货物 是否配送为...

    数据库系统管理制度V1.0.doc

    应由开发部门提供具体表和字段,或要求开发部门提供脚本,由数据库管理人员执行 操作;并且修改前先进行数据备份。 第三条 数据库系统的监控,应实时了解数据库运行状态,确保数据库可用状态。 第四条 数据库系统的...

    数据库系统管理制度V1.0(1).doc

    应由开发部门提供具体表和字段,或要求开发部门提供脚本,由数据库管理人员执行 操作;并且修改前先进行数据备份。 第三条 数据库系统的监控,应实时了解数据库运行状态,确保数据库可用状态。 第四条 数据库系统的...

    优化Oracle库表设计的若干方法

    前言 绝大多数的Oracle数据库性能问题都是由于数据库设计不合理造成的,只有少部分问题根植于DatabaseBuffer、SharePool、RedoLogBuffer等内存模块配置不合理,I/O争用,CPU争用等DBA职责范围上。所以除非是面对一...

    metadata:oracle,mysql,sql server 元数据管理表生成

    (包含元数据表)变更日志环境支持数据库数据库是否支持测试版本YES5.5, 5.6YES2008 R2NONO备注:测试条件限制,只对手中的数据库版本进行了测试验证。问题:有没有一种环境,可以模拟各个版本的数据库?思考数据库的...

    阿里巴巴大数据之路——数据技术篇.pdf

    阿⾥数据仓库同步⽅式 1)批量数据同步 要实现各种各样数据源与数仓的数据同步,需要实现数据的统⼀,统⼀的⽅式是将所有数据类型都转化为中间状态,也就是字符串类型。以此来实现数据格式的统⼀。 产品——阿⾥...

    dotnetcoding ORM 代码生成器

    支持SqlServer, Oracle, Access等多种数据库, 并且支持用SqlServer数据库来进行数据模式的设计,而实际开发运行数据库是其他数据库的情况, 开发的应用可以非常轻松的变换数据库. 本系统的应用范围:有数据库访问功能...

    MySQL题-付答案-一起学习

    池中时,并不会⽴刻将磁盘⻚加载到缓冲池,⽽是在CB记录缓冲变更,等 未来数据被读取时,再将数据合并恢复到BP中 2、Mysql 的技术特点是什么? Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端...

    数据库审计系统需求说明.docx

    8 规则分析 支持账号、IP地址、MAC地址、操作类型、返回行数、执行时 、表、字段、主 数据库审计系统需求说明全文共2页,当前为第1页。 数据库审计系统需求说明全文共2页,当前为第1页。 机名、操作系统名、关联表...

Global site tag (gtag.js) - Google Analytics