有一个表名为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、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。
- 浏览: 238265 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (241)
- js (49)
- java (38)
- javamail (2)
- svn (2)
- eclipse (6)
- java jxl (1)
- tomcat (5)
- oracle (44)
- jquery (4)
- sqlserver (2)
- cookie (1)
- imp/exp (3)
- rman (3)
- oracle备份 (5)
- solr (9)
- Lucene (2)
- sqlserver2005 (2)
- jdbc (1)
- Ice (15)
- jdk1.7 (1)
- tomcat7 (1)
- java设置环境变量 (1)
- Spring (1)
- dos (1)
- mysql (1)
- ps (1)
- 谷歌浏览器打开微信网页 (1)
- css (1)
- des (2)
- linux (2)
- dbf (1)
- jar包下载(jar、doc、source) (1)
- debug (1)
- kscenter (0)
- mt (1)
- neea (0)
- t.cn (1)
- 短链接 (1)
- rh-java把老表新建并导入到新表中 (1)
- oracle数据迁移ETL工具 (3)
- kettle (5)
- DNS (1)
- HttpClient (4)
- nginx (5)
- redis (8)
- jedis (2)
- nodejs (8)
- exception (1)
- AES (1)
- gzip (1)
- resin (1)
- 图像 (1)
- 安全评估 (1)
- word (1)
- MongoDB (0)
最新评论
发表评论
-
客户端PLSQL Developer连接远程数据库Oracle
2018-04-03 14:46 600客户端PLSQL Developer连接远程数据库Orac ... -
EXECUTE IMMEDIATE及Using (精辟啊) -- 可执行多条sql语句
2017-07-19 10:48 1527当我们碰到有一类存储名称和过程的参数上都相似时,可以使用e ... -
oracle通过正则验证香港、澳门、台湾的身份证和护照
2016-10-26 18:17 2226台湾的:1个英文+9个数字 [A-Z][0-9]{9} ... -
Oracle 多表关联并且批量修改
2016-10-22 15:29 1296描述:A表有 id,or_id 字段,B表有 id,cod ... -
oracle 多条查询记录 结果连接成以逗号分割字符串
2016-10-20 16:34 2143--查询 select wmsys.wm_concat( ... -
Oracle中cannot drop a user that is currently connected
2016-06-23 15:25 937Cannot drop a user that is cur ... -
drop table cascade
2016-05-16 17:22 885建立数据库表之前,第一步,进行了drop table cas ... -
如何在Oracle中复制表结构和表数据 【转载】
2016-05-16 17:11 6341. 复制表结构及其数据: create tabl ... -
笔记:Oracle查询重复数据并删除,只保留一条记录
2016-05-03 15:51 986转载自:http://www.uncletoo.com/ht ... -
查询oracle中所有用户信息
2016-04-08 16:19 6831.查看所有用户:select * from dba_use ... -
ORACLE语句怎么删除外键约束,和建立外键约束
2016-03-25 11:08 1191假如有主表 test_main 与 子表 test_su ... -
java 并发插入数据到oracle
2016-01-21 15:33 1330各位技术大牛,请教java 多线程问题由于项目需要,需要从 ... -
oracle表空间总大小 剩余大小
2016-01-21 09:35 771统计增加表空见两种方式的数据文件大小总值,也就是统计表 ... -
oracle分类查询并按照分类查询出各分类下固定条数的数据
2015-12-27 12:42 1017一张信息表,结构:id,名称,类型,发布时间。 按照类型查 ... -
如何查看oracle的编码格式
2015-12-09 18:33 942服务器端字符集编码么? 有权限的用户可以通过 select * ... -
oracle查询默认dump路径
2015-12-08 16:12 2773--查询默认dump路径select * from dba_d ... -
oracle清空多张表数据
2015-12-08 14:11 1653清空表数据 begin for i in (sel ... -
查询oracle表的信息(表,字段,约束,索引)
2015-11-24 18:43 1008通过搜索摸索,总结了一下oracle中查询表的信息,包括表名 ... -
oracle根据表名查询所有字段及类型
2015-11-17 19:39 602select * from col where tname=' ... -
如何在oracle里某个表中查询是否有按某个字段创建的索引?
2015-11-17 19:37 1159select * from user_ind_col ...
相关推荐
本文主要针对Oracle修改字段类型的方法进行详细讲解,特别是在面对不同情况时如何有效地进行操作。 首先,我们来看一个具体的例子,假设有一个名为`tb`的表,其中包含一个名为`name`的字段,其数据类型为`nchar(20)...
### ORACLE中CLOB字段转String类型 在Oracle数据库中,`CLOB`(Character Large Object)是一种用于存储大量文本数据的数据类型。由于其能够存储非常大的文本块(最大可达4GB),因此常被用于存储文章、报告或任何...
通过上述示例,我们了解了在Oracle数据库中创建表和修改字段的基本方法。`CREATE TABLE`用于定义新表的结构,而`ALTER TABLE MODIFY`则允许在表已存在的情况下调整其结构,满足业务需求的变化。掌握这些基本的SQL...
由于直接修改字段类型可能会导致数据丢失或者错误,因此需要采用一系列的操作来完成这一过程。接下来将详细介绍如何在Oracle中安全且高效地更改数据表中的字段类型。 #### 一、背景介绍 在日常的数据库维护工作中,...
在IT领域,尤其是在数据库操作与Java编程的交集部分,理解和掌握如何在Java中存取Oracle数据库中的CLOB(Character Large Object)类型字段是至关重要的技能。CLOB数据类型主要用于存储大量的文本信息,如文章、报告...
在Oracle中,VARCHAR2作为字段类型的最大存储量为4000个字符,而在PL/SQL编程环境中,VARCHAR2变量的限制更宽松,可以达到32767个字节,但请注意,这32767个字节是基于字符集的,不同的字符集可能会有不同的字节数。...
本篇文章将详细介绍如何利用Oracle中的`ALTER TABLE`命令来修改表结构,包括添加字段、修改字段、删除字段、重命名表以及添加注释等功能。 #### 二、添加字段 添加字段是最常见的需求之一,通常用于扩展已有表的...
总结来说,Oracle提供了全面的JSON支持,包括数据类型、函数、操作符和PL/SQL包,以及客户端工具的增强,使我们能够方便地在数据库中存储、查询和格式化查看JSON数据。无论你是开发人员还是数据库管理员,理解并掌握...
Oracle字符集是数据库管理...总结,Oracle字符集是数据库管理的关键部分,理解和正确配置字符集能确保数据的准确性和系统的稳定性。在实际操作中,需根据具体需求选择适当的字符集,并注意字符集变更可能导致的风险。
总结来说,Oracle 和 SQL Server 数据类型在很多方面有相似之处,如字符串、数字、日期/时间、二进制数据类型,但在细节上有所差异,如长度限制、Unicode 支持和特定用途的类型(如 Oracle 的 Bfile 和 SQL Server ...
### Oracle数据库备份与恢复知识点总结 #### 一、EXP/IMP (导出与导入) **1.1 基本命令** - **EXP**: 用于从数据库导出数据。 - `exp username/password [参数]` - **IMP**: 用于向数据库导入数据。 - `imp ...
- Oracle中可以通过ROWNUM伪列实现分页,但这种方法有局限性,不能查询“>=”某个值的记录。 6. **数据复制与权限**: - 可以使用`CREATE TABLE AS SELECT`来复制表结构和内容。 - 权限管理使用`grant`关键字,...
在Oracle数据库管理中,对表结构进行修改是常见的需求之一,比如添加新的字段或删除不再使用的字段等。本文将基于给定的文件信息——“数据库建表增加或删除字段”来详细阐述如何通过SQL语句实现这些操作。 ### 一...
#### 解决方案二:使用`CAST`函数转换字段类型 另一种解决方法是在SQL查询语句中直接使用Oracle提供的`CAST`函数来显式地将char类型的字段转换为`VARCHAR2`类型。这样可以在查询阶段就确保字段被正确处理为字符串...
总结,Oracle的多表关联UPDATE语句是一种强大的工具,能够有效处理跨表的数据更新需求,确保数据的一致性和准确性。在实际应用中,应根据业务逻辑和数据关系选择最适合的更新方法,并进行充分的测试以确保其正确性和...
这些字段类型各有其特性和用途。 1. Long类型:Long数据类型用于存储大文本数据,如用户简历(EMP_DESCLONG)。它能存储的最大长度为2GB。然而,由于Long字段在处理大量数据时性能较低,且不支持索引,所以在现代...
在创建表时,需要指定表的名称、字段名称、字段类型、主键、索引等信息。在上面的示例代码中,创建了一个名为 `Car` 的表,包含三个字段:`GUID`、`PhoneId` 和 `UserName`,其中 `GUID` 字段是主键。 序列...
总结来说,Oracle中的Package对象及其全局变量提供了强大的工具,帮助开发者构建模块化、可复用的代码,尤其是在处理会话级别的数据存储和逻辑流程时。理解并熟练运用package的全局变量特性,可以显著提高Oracle...