oracle更改字段属性
2018-02-08 16:14
169 查看
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;
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;
相关文章推荐
- SQL 字段属性大小更改
- ORACLE 10G 字段属性修改
- MySQL5.6 更改字段属性仍旧会锁全表,注意这个坑!
- SQL Server不允许更改字段属性
- Oracle更改有数据的非空字段
- oracle 中查询一个表的所有字段名以及属性的sql语句应该怎么写?
- sql server ,mysql ,oracle 自增长字段设置以及自增长属性的修改验证
- Oracle 表中有数据的情况下 字段更改数据类型
- Oracle 中字段属性
- oracle添加表字段跟修改表字段属性
- Oracle更改字段类型Blob错误ora-22858
- oracle更改字段长度,添加字段
- 【oracle】批量更改所有表的同一字段类型
- DB字段顺序与类的属性顺序一致:{Oracle.DataAccess.Client.OracleException ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 NUMBER
- oracle查看表、字段属性和说明sql
- oracle修改字段类型时报"要更改的列必须为空"处理方法
- oracle修改字段类型时报"要更改的列必须为空"处理方法
- SAP 更改屏幕字段属性SHD0的使用方法
- oracle获取表字段属性
- oracle 改表字段属性 语句