思路:

--新建临时表以存储正确的顺序
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)),亲测可用的更多相关文章

  1. ORACLE修改表字段顺序

    1.若'GYZL_BZPWL_TB' 为要修改的表名,注意表名一定要大写!此句可以获取表的id.select object_id from all_objects where object_name= ...

  2. oracle 在表中有数据的情况下修改表字段类型或缩小长度

    分享自己一些常用的sql语句给大家 偶尔我们需要在已有表,并且有数据的情况下,修改其某个字段的类型或缩短他的长度,但是因为表中有数据,所以不可以直接修改,需要换个思路. //建立测试表,可跳过(善于应 ...

  3. oracle修改表字段名时报错:ORA-00054:资源正忙,但指定以NOWAIT方式获取资源,或者超时失效的问题

    打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, os ...

  4. mysql中修改表字段名/字段长度/字段类型详解

    在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...

  5. MySQL修改表字段相关信息

    昨天收获颇多,首先回顾一下有关mysql的内容. 我在查询表信息时,出现了 empty set 0.00 sec 的错误,我很奇怪,仔细检查发现原来是表字段名称写错了, 于是我想修改字段名称,经过查询 ...

  6. atitit查询表修改表字段没反应--解锁锁定的表

    atitit查询表修改表字段没反应--解锁锁定的表 查询表修改表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...

  7. db2中修改表字段的长度,查看表字段长度,以及查看表字段已存放值大小

    修改表字段语句: alter table 表名 alter column  字段名 set data type varchar(7700) 如: ALTER TABLE JV_BI_BACK_OPER ...

  8. MySQL修改表的默认字符集和修改表字段的默认字符集

    修改表的默认字符集: ALTER TABLE table_name DEFAULT CHARACTER SET character_name; 修改表字段的默认字符集: ALTER TABLE tab ...

  9. Oracle表字段类型更改的一个经验

    先前表中ID字段类型是用序列,由于安全问题,需要处理水平权限的漏洞,虽然使用加密也可以处理,为了更方便,需要将字段类型改为Guid,如果表中已经有数据,更改起来不是很方便,对于基础数据表,这里提供一个 ...

随机推荐

  1. SQL中char、varchar、nvarchar、text 的区别

    char char是定长的,也就是当你输入的字符小于你指定的数目时,char(8),你输入的字符小于8时,它会再后面补空值.当你输入的字符大于指定的数时,它会截取超出的字符. nvarchar(n) ...

  2. Android学习笔记_35_PopupWindow泡泡窗口的实现及GridView应用

    1.PopupWindow是一个可以显示在当前Activity之上的浮动容器,PopupWindow弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有便宜两种:按照参照对象的不同又可以分为两种 ...

  3. 【题解】UVA1218 Perfect Service

    UVA1218:https://www.luogu.org/problemnew/show/UVA1218 刷紫书DP题ing 思路 参考lrj紫书 不喜勿喷 d(u,0):u是服务器,孩子是不是服务 ...

  4. UML 类关系图(泛化,实现,依赖,关联(聚合,组合))

    UML的构造快包含3种:  (1) 事物(4种):结构事物,行为事物,分组事物,注释事物 (2) 关系(4种):泛化关系,实现关系,依赖关系,关联关系 (3) 图(10种):用例图,类图,对象图,包图 ...

  5. o'Reill的SVG精髓(第二版)学习笔记——第一章

    1.1图形系统 计算机中描述图形信息的两大系统是栅格系统(raster graphics)和矢量图形(vector graphics) 1.1.4矢量图形的用途 ①计算机辅助绘图(CAD)程序. ②设 ...

  6. nodejs+express开发blog(1)

    前言 Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新.基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术.在 ...

  7. Eclipse build时间太长,无法忍受,完美解决方案,Eclipse 编译太卡,耗时太长

    目前开发使用了Eclipse ,每次报错的时候都会build,,每次build的时间都很长,接近10秒左右,好难受呀.. 刚开始一直以为是项目内容多导致的,但是想想之前做的项目,无论再多,也都是秒级的 ...

  8. HTTP-Http状态码301和302的区别

    官方解释: 301 redirect: 301 代表永久性转移(Permanently Moved) 302 redirect: 302 代表暂时性转移(Temporarily Moved ) 共同点 ...

  9. mysql新增和更新表从已有数据库里面获取的sql语句

    在mysql数据库从已有数据库表插入数据到另一表的sql例子 insert into c(`name`) select name from b; 在mysql数据库从已有数据库表更新数据到另一表的sq ...

  10. C++拷贝构造函数 的理解

    #include <iostream> using namespace std; //拷贝构造函数的理解 class Point { public: Point(); Point(int ...