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数据库中,CLOB(Character Large Object)类型字段用于存储大量的文本数据,如XML文档、长篇文章等。由于其特殊性,处理CLOB类型的字段时可能会遇到性能问题,特别是当涉及索引时。本话题将围绕如何针对...
在Oracle数据库管理中,有时需要根据业务需求对已存在的表结构进行调整,其中包括修改字段类型。这篇文章主要聚焦于Oracle修改字段类型的几种方法,对于数据库管理员和开发者来说是十分实用的知识点。 首先,如果表...
在Oracle Spatial中,开发者可以利用以下功能来操作空间字段: 1. 空间数据的存储:Oracle Spatial允许用户在标准的Oracle数据库表中存储几何数据。这些数据可以通过标准的SQL语句进行管理。Oracle支持的数据类型...
根据给定的文件标题、描述以及部分内容,我们可以深入探讨如何在Oracle数据库中通过日志查看数据库变更情况。这一过程对于数据库管理员(DBA)来说至关重要,因为它有助于追踪数据更改历史,进行故障诊断,以及恢复...
Oracle字符集是数据库管理系统Oracle中的一个重要概念,它决定了数据库如何存储和处理文本数据。字符集不仅影响着数据的准确性和...在实际操作中,需根据具体需求选择适当的字符集,并注意字符集变更可能导致的风险。
根据给定的文件信息,我们将深入探讨“oracle建表修改字段”的核心知识点,包括如何使用SQL语句创建表、定义字段属性以及如何修改现有字段的属性。 ### 创建表(Create Table) 在Oracle中,使用`CREATE TABLE`...
例如,将`test3`表中的`name`字段类型改为`VARCHAR2(30)`,默认值设为`hebei`: ```sql ALTER TABLE test3 MODIFY (name VARCHAR2(30) DEFAULT 'hebei'); ``` ### 删除字段 当不再需要某个字段时,可以将其标记为...
### 在Oracle数据库中变更字段表 在Oracle数据库中,对表字段的变更是通过SQL DDL(Data Definition Language)语句来实现的。常见的字段变更操作包括添加新字段、修改现有字段的属性或数据类型、删除字段等。下面...
1. **结构比对**:比较两个数据库的表结构,包括字段名、字段类型、主键、外键、索引等,找出差异并提供同步方案。 2. **数据比对**:检查表中的实际数据,查找记录的增删改情况,帮助用户定位数据不一致的问题。 ...
1. **修改字段类型或长度**: 当需要更改已有字段的数据类型或长度时,可以使用`ALTER TABLE`语句配合`MODIFY`子句。例如,如果你有一个名为`table_name`的表,其中`column_name`字段原为VARCHAR2(5),现在想将其改...
在Oracle数据库中,序列(Sequences)是一种自动递增或递减的数字生成器,常用于主键生成或者自增字段。批量修改Oracle序列值的需求可能出现在数据迁移、恢复或测试环境中,确保序列与实际数据匹配。这篇博客分享的...
这不仅是因为Oracle数据库更新换代速度快,相关命令和步骤有可能发生变更,更因为不同版本的Oracle数据库在操作细节上可能有所不同。另外,在修改实例名之前,最佳实践是先在测试环境中进行,确保没有问题后再应用到...
- **数据类型**:了解Oracle支持的各种数据类型,如NUMBER、VARCHAR2、DATE等。 - **SQL语言**:掌握SQL基础,包括SELECT语句、WHERE子句、聚合函数等。 #### 数据库创建与管理 - **数据库实例与文件结构**:理解...
这个工具的核心功能在于自动化生成表结构的详细文档,包括表名、字段名、数据类型、字段长度、是否为主键、外键关系等关键信息。这大大减轻了手动编写文档的工作量,提高了工作效率。在数据库设计、需求分析或项目...
### Oracle ERP EBS 库存模块INV-8个表字段解释 #### 表名:`inv.mtl_system_items` ...对于希望利用Oracle ERP EBS提升供应链效率的企业来说,熟悉并掌握这些字段的具体含义及其在实际业务中的应用非常重要。
"数据库字段及表是否发生变化"这个问题,实际上涉及到的是数据库版本控制和变更跟踪。以下是一些相关的重要知识点: 首先,数据库字段的变化可能会直接影响到应用程序的功能和数据的正确性。例如,如果一个字段的...
- 表结构包括字段名、数据类型、主键、外键等,迁移时需确保在MySQL中重建相同的结构。 - Oracle的触发器、存储过程、视图等可能需要转换为MySQL的等效物。 7. **数据导出与导入**: - Oracle可以通过`expdp`或`...
2. **数据类型转换**:Excel中的数据类型可能需要转换为Oracle支持的SQL数据类型,例如,`VARCHAR2`用于文本字段,`NUMBER`用于数值字段,`DATE`用于日期时间字段等。工具会自动识别并转换这些数据类型,确保在...
"oracle数据库导出表结构到WORD文档"是一个实用的操作,它能够帮助我们生成包含所有表定义、字段信息、主键、外键等的详细报告。通过这个工具,我们可以快速地将Oracle中的数据库对象信息整理成Word文档,方便打印、...