思路:

--新建临时表以存储正确的顺序
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. 【洛谷P3811】[模板]乘法逆元

    乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 inline void exgcd(int a,int b,int &a ...

  2. oracle序列中cache和nocache

    首先我这篇博客的内容是我不知道oracle里的 cache 是什么,结果越查越多... "序列的cache通常为 20,但在需要依据序列值判断创建的先后顺序时必须是 NOCACHE" ...

  3. SQL批量添加,更新,删除

    SQL语句: 存储过程: 代码: 这里说的是关于SQL的批量操作数据. 需要准备: 三层框架:利用 动软代码生成器(可以快速生成增删改查) 生成三层 Model,BLL,Dal ①DbHelpeSQL ...

  4. papers-06-07

    A simple neural network module for relational reasoning Visual Interaction Networks 今天被这两篇文章的工作刷屏,说实 ...

  5. 将某页面中ajax中获取到的信息放置到sessionStorage中保存,并在其他页面调用这些数据。

    A页面代码: var obj = data.data; var infostr = JSON.stringify(obj);//转换json sessionStorage.obj = infostr; ...

  6. html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果

    模态框: html部分: <!-- 按钮 --> <button id="box" onclick="pop_box()">弹出框< ...

  7. Mac通过域名查询IP地址

    Mac通过域名查询IP地址 方法一:使用Mac自带的"网络实用工具" 步骤: 搜索"网络使用工具",并打开: 点击LookUp,输入互联网地址,点击Lookup ...

  8. LeetCode10.正则表达式匹配 JavaScript

    给定一个字符串 (s) 和一个字符模式 (p).实现支持 '.' 和 '*' 的正则表达式匹配. '.' 匹配任意单个字符. '*' 匹配零个或多个前面的元素. 匹配应该覆盖整个字符串 (s) ,而不 ...

  9. IPv4和IPv6的兼容问题

    一网络拓扑 Ipv6网络1 路由器A IPv4网络 路由器B IPv6网络2 二知识补充 [注]双协议栈主机(路由器A.B)通过域名解析器区分传过来的是IPv4还是IPv6 三处理技术 双协议栈 Ip ...

  10. 有个数组 我现在需要把数组里面的值按照n个一组,赋予一个新的数组

    有个数组  我现在需要把数组里面的值按照七个一组,赋予一个新的数组