1.更改一个表中带有数据的字段的精度方法减小:
写道
--增加两个临时字段,和要更改字段精度的类型和精度相同
ALTER TABLE TABLE_NAME ADD(filed1_1 VARCHAR2(4),filed2_1 NUMBER(4));
--将要更改字段精度的值放入临时字段中,并将要更改的字段内容置空
UPDATE TABLE_NAME T
SET T.filed1_1 =T.filed1, T.filed2_1 =T.filed2,
T.filed1=NULL,T.filed2=NULL;
--更改要修改的字段精度
ALTER TABLE TABLE_NAME MODIFY(filed1 VARCHAR2(2), filed2 NUMBER(2));
--将原有的数据重新更新修改后的字段中
UPDATE TABLE_NAME T
SET T.filed1=T.filed1_1,T.filed2=T.filed2_1;
--删除临时字段
ALTER TABLE TABLE_NAME DROP(filed1_1,filed2_1);
ALTER TABLE TABLE_NAME ADD(filed1_1 VARCHAR2(4),filed2_1 NUMBER(4));
--将要更改字段精度的值放入临时字段中,并将要更改的字段内容置空
UPDATE TABLE_NAME T
SET T.filed1_1 =T.filed1, T.filed2_1 =T.filed2,
T.filed1=NULL,T.filed2=NULL;
--更改要修改的字段精度
ALTER TABLE TABLE_NAME MODIFY(filed1 VARCHAR2(2), filed2 NUMBER(2));
--将原有的数据重新更新修改后的字段中
UPDATE TABLE_NAME T
SET T.filed1=T.filed1_1,T.filed2=T.filed2_1;
--删除临时字段
ALTER TABLE TABLE_NAME DROP(filed1_1,filed2_1);
2.更改一个表中带有数据的字段的精度方法增大,就可以直接更改字段精度即可
--原有的字段精度为2,现在要该为4 ALTER TABLE TABLE_NAME MODIFY(filed1 VARCHAR2(4), filed2 NUMBER(4));