今天公司因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型
要是没有数据的话直接用以下语句即可
alter table tb_test modify permile number(5,2);
但是有数据的话 就不能用上面方法了,
alter table tb_test add permile_temp number(5,2)
update tb_test set permile_temp=permile;
alter table drop column permile;
alter table test rename column permile_temp to permile;
这种方法会使列名发生变化,而且字段顺序增加 有可能发生行迁移,对应用程序会产生影响
以下方法是比较好的方法
不用使列名发生变化 也不会发生表迁移,但这个有个缺点是表要更新两次
如果数据量较大的话 产生的undo和redo更多 ,前提也是要停机做
要是不停机的话 ,也可以采用在线重定义方式来做
以下是脚本:
alter table tb_test add permile_temp number;
-- Add/modify columns
alter table tb_test modify PERMILE null;
update tb_test set permile_temp=permile,permile=null;
commit;
alter table tb_test modify permile number(5,2);
update tb_test set permile=permile_temp,permile_temp=null;
commit;
alter table tb_test drop column permile_temp;
alter table tb_test modify PERMILE not null;
select * from tb_test ;
分享到:
相关推荐
最近学习了Oracle修改字段类型方法,留做记录。 有一个表名为tb,字段段名为name,数据类型nchar(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20...
ORACLE中CLOB字段转String类型
oracle中对blob字段的处理方法,包括增加,删除,修改,更新等操作。
oracle建表修改字段,数据库简单代码,
VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Database中的字段类型,不同场景的最大长度不同。 在Oracle Database中,VARCHAR2 字段类型,最大值为4000;PL/SQL中 VARCHAR2 变量类型,最大字节长度为...
CLOB字段类型报错 ORA-01704:文字字符串过长的解决
blob字段直接用 select * from table_name where column like ‘%%'查找的时候是不能实现的 ,主要是字段类型不符,就想到了 字段转换成varchar2类型,然后再进行查询 select * from table_name where utl_raw.cast...
oracle变更数据表字段类型 ,简单易懂方便快捷!
修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablename drop (column); 添加、修改、删除多列的话,用逗号隔开。 使用alter...
修改字段类型或者长度: alter table 表名 modify 字段名 字段类型 (字段长度) 例: alter table table_name modify column_name varchar (10); 此为标准SQL,对任何数据库都适用 修改字段名: alter table ...
代码如下: create sequence AutoID start with 1 //根据需要自己可修改该数值 increment by 1 //步长值 minvalue 1 nomaxvalue 其实到此步骤,已经可以实现字段自增了。新增记录时看如下代码: 代码如下: Insert in
Oracle 字符集详解,包括查看,修改,导入导出,转换原理
(1)在英文版本的ORACLE中默认日期格式为’DD-MON-YY’,例如’01-JAN-98′ 在汉化的中文版本中ORACLE默认日期格式为’日-月-年’,例如’21-8月-2003’或’21-8月-03′ (2)转换字符串为日期 使用ORACLE内部函数to_...
在使用PDO的预处理方法时,如果使用bindParam()等而不指定字段的数据类型或使用execute(),PDO都会默认为string类型,并且限定一个默认长度 所以在存clob类型字段时必须使用bindParam()或bindValue()等,并指定字符...
简单写的一个小工具,把图片存入oracle中,按clob和blob两种方式存储,并读取图片
customer_type char(2) not null, -- 客户类型 ... ) create unique index PK_customers on customers (customer_id) 由于某些原因,客户所在城市这个信息并不什么准确,但是在 客户服务部的CRM子系统中,...
您可能感兴趣的文章:SQL Server设置主键自增长列(使用sql语句实现)oracle中的ID号实现自增长的方法mysql修改自增长主键int类型为char类型示例自增长键列统计信息的处理方法实现oracle数据库字段自增长(两种方式)
在创建表时,需要指定表的名称、字段名称、字段类型、主键、索引等信息。在上面的示例代码中,创建了一个名为 `Car` 的表,包含三个字段:`GUID`、`PhoneId` 和 `UserName`,其中 `GUID` 字段是主键。 序列...