`

Oracle修改字段类型方法总结

阅读更多

有一个表名为tb,字段段名为name,数据类型nchar(20)。

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));

2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));

3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

分享到:
评论

相关推荐

    详解Oracle修改字段类型方法总结

    本文主要针对Oracle修改字段类型的方法进行详细讲解,特别是在面对不同情况时如何有效地进行操作。 首先,我们来看一个具体的例子,假设有一个名为`tb`的表,其中包含一个名为`name`的字段,其数据类型为`nchar(20)...

    ORACLE中CLOB字段转String类型

    ### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...

    oracle建表修改字段

    通过上述示例,我们了解了在Oracle数据库中创建表和修改字段的基本方法。`CREATE TABLE`用于定义新表的结构,而`ALTER TABLE MODIFY`则允许在表已存在的情况下调整其结构,满足业务需求的变化。掌握这些基本的SQL...

    oracle变更数据表字段类型

    由于直接修改字段类型可能会导致数据丢失或者错误,因此需要采用一系列的操作来完成这一过程。接下来将详细介绍如何在Oracle中安全且高效地更改数据表中的字段类型。 #### 一、背景介绍 在日常的数据库维护工作中,...

    运用Java如何存取Oracle中的CLOB类型字段

    在IT领域,尤其是在数据库操作与Java编程的交集部分,理解和掌握如何在Java中存取Oracle数据库中的CLOB(Character Large Object)类型字段是至关重要的技能。CLOB数据类型主要用于存储大量的文本信息,如文章、报告...

    Oracle的CLOB大数据字段类型操作方法

    在Oracle中,VARCHAR2作为字段类型的最大存储量为4000个字符,而在PL/SQL编程环境中,VARCHAR2变量的限制更宽松,可以达到32767个字节,但请注意,这32767个字节是基于字符集的,不同的字符集可能会有不同的字节数。...

    oracle_修改表结构

    本篇文章将详细介绍如何利用Oracle中的`ALTER TABLE`命令来修改表结构,包括添加字段、修改字段、删除字段、重命名表以及添加注释等功能。 #### 二、添加字段 添加字段是最常见的需求之一,通常用于扩展已有表的...

    oracle格式化查看json数据

    总结来说,Oracle提供了全面的JSON支持,包括数据类型、函数、操作符和PL/SQL包,以及客户端工具的增强,使我们能够方便地在数据库中存储、查询和格式化查看JSON数据。无论你是开发人员还是数据库管理员,理解并掌握...

    Oracle 字符集详解

    Oracle字符集是数据库管理...总结,Oracle字符集是数据库管理的关键部分,理解和正确配置字符集能确保数据的准确性和系统的稳定性。在实际操作中,需根据具体需求选择适当的字符集,并注意字符集变更可能导致的风险。

    oracle和sql数据类型

    总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...

    Oracle数据库备份与恢复总结

    ### Oracle数据库备份与恢复知识点总结 #### 一、EXP/IMP (导出与导入) **1.1 基本命令** - **EXP**: 用于从数据库导出数据。 - `exp username/password [参数]` - **IMP**: 用于向数据库导入数据。 - `imp ...

    oracle个人总结

    - Oracle中可以通过ROWNUM伪列实现分页,但这种方法有局限性,不能查询“>=”某个值的记录。 6. **数据复制与权限**: - 可以使用`CREATE TABLE AS SELECT`来复制表结构和内容。 - 权限管理使用`grant`关键字,...

    数据库建表增加或删除字段

    在Oracle数据库管理中,对表结构进行修改是常见的需求之一,比如添加新的字段或删除不再使用的字段等。本文将基于给定的文件信息——“数据库建表增加或删除字段”来详细阐述如何通过SQL语句实现这些操作。 ### 一...

    Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法

    #### 解决方案二:使用`CAST`函数转换字段类型 另一种解决方法是在SQL查询语句中直接使用Oracle提供的`CAST`函数来显式地将char类型的字段转换为`VARCHAR2`类型。这样可以在查询阶段就确保字段被正确处理为字符串...

    ORACLE多表关联的update语句

    总结,Oracle的多表关联UPDATE语句是一种强大的工具,能够有效处理跨表的数据更新需求,确保数据的一致性和准确性。在实际应用中,应根据业务逻辑和数据关系选择最适合的更新方法,并进行充分的测试以确保其正确性和...

    ORACLE数据库中主要字段类型的读写例子(包括:Long、Raw、Blob) (2).pdf

    这些字段类型各有其特性和用途。 1. Long类型:Long数据类型用于存储大文本数据,如用户简历(EMP_DESCLONG)。它能存储的最大长度为2GB。然而,由于Long字段在处理大量数据时性能较低,且不支持索引,所以在现代...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    在创建表时,需要指定表的名称、字段名称、字段类型、主键、索引等信息。在上面的示例代码中,创建了一个名为 `Car` 的表,包含三个字段:`GUID`、`PhoneId` 和 `UserName`,其中 `GUID` 字段是主键。 序列...

    Oracle中的package对象

    总结来说,Oracle中的Package对象及其全局变量提供了强大的工具,帮助开发者构建模块化、可复用的代码,尤其是在处理会话级别的数据存储和逻辑流程时。理解并熟练运用package的全局变量特性,可以显著提高Oracle...

Global site tag (gtag.js) - Google Analytics