`

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修改字段类型方法总结,小编觉得不错,非常具有实用价值,有兴趣的可以了解一下。

    Oracle对字段的增删改方法分享

    修改字段类型或者长度: alter table 表名 modify 字段名 字段类型 (字段长度) 例:  alter table table_name modify column_name varchar (10); 此为标准SQL,对任何数据库都适用  修改字段名: alter table ...

    Oracle数据库学习指南

    8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整...

    oracle实验报告

    (1) 了解Oracle的工作环境和基本使用方法。 (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验...

    Oracle数据库课程设计报告(1).doc

    设计目的 使用VC,C++,C#等作为前台开发工具,使用Oracle作为后台数据库,所设计的管理 系统应包含输入输出、查询、插入、修改、删除等基本功能。根据题目的基本需求,设 计系统界面、数据库、编写程序(Oracle),并...

    MySQL转换Oracle的需要注意的七个事项

    下面总结出MySQL转换Oracle的几点注意事项,希望对大家有所帮助。 1.自动增长的数据类型处理 MySQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值。Oracle没有自动增长的数据类型,需要建立一...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    作者通过总结各自多年的软件开发和教学培训经验,与大家分享了掌握Oracle SQL所独有的丰富功能的技巧所在,内容涵盖SQL执行、联结、集合、分析函数、子句、事务处理等多个方面。读者可以学习到以下几个方面的技巧:...

    mysql基础只是总结

    d) change 原始的字段名 新的字段名 字段名 类型[大小] 属性,modify 字段名 类型[大小] 属性⋯⋯ [after|first 字段] e) rename 新的表名 (方法二:rename table 旧的表名 to 新的表名) f) engine=存储引擎(type不...

    ORCALE语句大全

    修改一个字段的类型 alter table student modify(Name varchar2(10)); 修改一个字段的名称 alter table student rename column Name to Name2; 删除一个字段 alter table student drop column Salary; 修改...

    实验六-触发器实验报告.doc

    当然最 佳的方法是修改其外键约束的更新策略,但考虑到复杂性,这里使用不标准的做法, 但建议大家实际运用中不要这么做)。在顾客- 存款账号表插入一条记录,表明顾客开设了一个新的账户。 6. 将一条刚才新开账户号...

    SQL21日自学通

    总结 37 问与答 38 校练场 38 练习 39 第三天表达式条件语句与运算 40 第四天函数对数据的进一步处理 60 目标 60 汇总函数 60 COUNT61 SUM 61 AVG 63 MAX 63 MIN 64 VARIANCE65 STDDEV66 日期/时间函数66 ADD_...

    精通SQL 结构化查询语言详解

    16.3.1 Oracle触发器类型  16.3.2 触发器的创建 16.3.3 创建系统触发器  16.3.4 触发器的触发次序和触发谓词的使用  16.3.5 Oracle触发器的管理  第17章 SQL中游标的使用  17.1 SQL游标的基本概念  ...

    db2-技术经验总结

    1.6. DB2实现类型ORACLE的一些功能 29 1.7. 字符数据类型转换的时候需要注意的问题(原) 30 1.8. 本地谓词的使用注意(原) 31 1.9. windows/Linux或Unix下查看DB2端口号 31 1.10. 尽量让fetch first n row only或者...

    精通SQL--结构化查询语言详解

    16.3.1 oracle触发器类型 340 16.3.2 触发器的创建 341 16.3.3 创建系统触发器 342 16.3.4 触发器的触发次序和触发谓词的使用 343 16.3.5 oracle触发器的管理 346 第17章 sql中游标的使用 349 17.1 sql游标的...

    测试培训教材

    1、测试流程管理、测试度量方法 按照尽早进行测试的原则,测试人员应该在需求阶段就介入,并贯穿软件开发的全过程。就测试过程本身而言,应该包含以s下几个阶段。  -测试需求的分析和确定。  -测试计划。  -...

    jpivot学习总结.doc

    <jp:mondrianQuery dataSource="" id="query01" jdbcDriver="oracle.jdbc.driver.OracleDriver" jdbcUrl="jdbc:oracle:thin:ngykt/ngyktadmin@172.16.46.241:1521:orcl10" catalogUri="/WEB-INF/queries/feeSchema....

    经典SQL脚本大全

    卷序列号码为 00000030 4489:...│ 导入文本文件时如何指定字段类型.sql │ 导出northwind中Employees的图像.sql │ 将某个目录上的Excel表,导入到数据库中.sql │ 数据导入导出基本方法.sql │ 用ASP上传&下载文件.sql

    一个好用的数据库类

    如这次执行的结果集是多少列、每列的字段名、列的类型等,然后根据类型可以动态分配内存,然后在用这些内存去绑定,最后能过SQLFetch()来得到结果集。在CMYODBC这个类里是通过CODBCSet类应用上面的原理来实现自动...

Global site tag (gtag.js) - Google Analytics