Oracle修改表字段类型(number-->varchar2(len)),亲测可用
思路:
--新建临时表以存储正确的顺序
create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;
--删除表A_1
drop table A_1;
--新建A_1并从A_2表中赋予其正确的顺序和值
create table A_1 as select * from A_2;
--删除临时表A_2
drop table A_2;
以下为亲测实例--
--step1:
create table M_YS_YSDFZTB_6101_2017_tmp
as select YSBH, DFFXDH,TO_CHAR(YSZZDH) AS YSZZDH,TO_CHAR(YSJZDH) AS YSJZDH,ZT,ZWYF, ZWRQ, YWRQ, YWLSH
from M_YS_YSDFZTB_6101_2017 ;
--step2:
drop table M_YS_YSDFZTB_6101_2017;
--step3:
create table M_YS_YSDFZTB_6101_2017 as select * from M_YS_YSDFZTB_6101_2017_tmp ;
--修改字段长度并置为不为空
alter table M_YS_YSDFZTB_6101_2017 modify (YSZZDH VARCHAR2(16) not null,YSJZDH VARCHAR2(16) not null);
--添加字段备注说明
-- Add comments to the columns
comment on column M_YS_YSDFZTB_6101_2017.YSBH
is '应收编号';
comment on column M_YS_YSDFZTB_6101_2017.DFFXDH
is '电费发行单号';
comment on column M_YS_YSDFZTB_6101_2017.YSZZDH
is '应收轧账单号';
comment on column M_YS_YSDFZTB_6101_2017.YSJZDH
is '应收结账单号';
comment on column M_YS_YSDFZTB_6101_2017.ZT
is '状态(-1 已发行未轧账0已生成轧账待核对1已核对待发起结账2已发起待提交 3已提交待审核 4已审核待推送 5已推送未结 6已结)';
comment on column M_YS_YSDFZTB_6101_2017.ZWYF
is '账务月份';
comment on column M_YS_YSDFZTB_6101_2017.ZWRQ
is '账务日期';
comment on column M_YS_YSDFZTB_6101_2017.YWRQ
is '业务日期';
comment on column M_YS_YSDFZTB_6101_2017.YWLSH
is '业务流水号';
--添加/修改主键机表空间
alter table M_YS_YSDFZTB_6101_2017
add primary key (YSBH)
using index
--tablespace USERS 148 表空间
--tablespace IDX_HIS 134 表空间
tablespace IDX_HIS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
--step4:
drop table M_YS_YSDFZTB_6101_2017_tmp;
Oracle修改表字段类型(number-->varchar2(len)),亲测可用的更多相关文章
- ORACLE修改表字段顺序
1.若'GYZL_BZPWL_TB' 为要修改的表名,注意表名一定要大写!此句可以获取表的id.select object_id from all_objects where object_name= ...
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
分享自己一些常用的sql语句给大家 偶尔我们需要在已有表,并且有数据的情况下,修改其某个字段的类型或缩短他的长度,但是因为表中有数据,所以不可以直接修改,需要换个思路. //建立测试表,可跳过(善于应 ...
- oracle修改表字段名时报错:ORA-00054:资源正忙,但指定以NOWAIT方式获取资源,或者超时失效的问题
打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, os ...
- mysql中修改表字段名/字段长度/字段类型详解
在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...
- MySQL修改表字段相关信息
昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...
- atitit查询表修改表字段没反应--解锁锁定的表
atitit查询表修改表字段没反应--解锁锁定的表 查询表修改表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...
- db2中修改表字段的长度,查看表字段长度,以及查看表字段已存放值大小
修改表字段语句: alter table 表名 alter column 字段名 set data type varchar(7700) 如: ALTER TABLE JV_BI_BACK_OPER ...
- MySQL修改表的默认字符集和修改表字段的默认字符集
修改表的默认字符集: ALTER TABLE table_name DEFAULT CHARACTER SET character_name; 修改表字段的默认字符集: ALTER TABLE tab ...
- Oracle表字段类型更改的一个经验
先前表中ID字段类型是用序列,由于安全问题,需要处理水平权限的漏洞,虽然使用加密也可以处理,为了更方便,需要将字段类型改为Guid,如果表中已经有数据,更改起来不是很方便,对于基础数据表,这里提供一个 ...
随机推荐
- SQL中char、varchar、nvarchar、text 的区别
char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符. nvarchar(n) ...
- Android学习笔记_35_PopupWindow泡泡窗口的实现及GridView应用
1.PopupWindow是一个可以显示在当前Activity之上的浮动容器,PopupWindow弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有便宜两种:按照参照对象的不同又可以分为两种 ...
- 【题解】UVA1218 Perfect Service
UVA1218:https://www.luogu.org/problemnew/show/UVA1218 刷紫书DP题ing 思路 参考lrj紫书 不喜勿喷 d(u,0):u是服务器,孩子是不是服务 ...
- UML 类关系图(泛化,实现,依赖,关联(聚合,组合))
UML的构造快包含3种: (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图 ...
- o'Reill的SVG精髓(第二版)学习笔记——第一章
1.1图形系统 计算机中描述图形信息的两大系统是栅格系统(raster graphics)和矢量图形(vector graphics) 1.1.4矢量图形的用途 ①计算机辅助绘图(CAD)程序. ②设 ...
- nodejs+express开发blog(1)
前言 Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新.基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术.在 ...
- Eclipse build时间太长,无法忍受,完美解决方案,Eclipse 编译太卡,耗时太长
目前开发使用了Eclipse ,每次报错的时候都会build,,每次build的时间都很长,接近10秒左右,好难受呀.. 刚开始一直以为是项目内容多导致的,但是想想之前做的项目,无论再多,也都是秒级的 ...
- HTTP-Http状态码301和302的区别
官方解释: 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Moved ) 共同点 ...
- mysql新增和更新表从已有数据库里面获取的sql语句
在mysql数据库从已有数据库表插入数据到另一表的sql例子 insert into c(`name`) select name from b; 在mysql数据库从已有数据库表更新数据到另一表的sq ...
- C++拷贝构造函数 的理解
#include <iostream> using namespace std; //拷贝构造函数的理解 class Point { public: Point(); Point(int ...