简介:
oracle调整数据库字段精度,字符串长度,举两个例子:
1、数字类型number,原来设置的精度比较大,现在要调小
2、字符串类型varchar2,存储的字段超过4000了,仍然存不下
原理:
新增一个需要类型的列,将原数据转移,新列改成老列的名字
脚本1,保留两位小数
alter table oracle_table_name add (column_temp number(20,2));
update oracle_table_name set column_temp = round(oracle_table_column,2);
alter table oracle_table_name drop column oracle_table_column;
alter table oracle_table_name add (oracle_table_column number(20,2));
update oracle_table_name set oracle_table_column = column_temp;
alter table oracle_table_name drop column column_temp;
脚本2,增加字符存储长度
alter table oracle_table_name add (column_temp CLOB);
update oracle_table_name set column_temp = oracle_table_column;
alter table oracle_table_name drop column oracle_table_column;
alter table oracle_table_name add (oracle_table_column CLOB);
update oracle_table_name set oracle_table_column = column_temp;
alter table oracle_table_name drop column column_temp;