Oracle 之 表新增字段后修改字段顺序

  工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置。

  1、原始方法:

--新建临时表以存储正确的顺序
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;

  这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

  2、利用系统数据库

  [1] 首先,以sys用户的身份登录PL/SQL

[2] 查询出你要更改的表的ID,以我本地的数据为例,我要改‘FINACE‘用户下‘INCOME‘这张表。注:ORACLE中的表要用大写。

select     object_id
        from        all_objects
        where     owner = ‘FINACE‘ and object_name = ‘INCOME‘ ;

得到INCOME这张表的i,如图所示:

  

[3] 根据id去查询该表中的字段以及字段序号

select     obj#,col#,name
        from        sys.col$
        where     obj#=73626; 

结果如下图所示:

  

[4] 第二列便是字段的序号,就可以用update语句来任意调整字段的顺序了。

时间: 2024-10-14 12:36:28

Oracle 之 表新增字段后修改字段顺序的相关文章

ORACLE—001:Alter之增加字段,修改字段类型

--积累工作中用到的SQL 1.增加和删除一列 写法: --增加一列      alter table  表名 add  列名 类型;      --删除一列      alter table  表名 drop column 列名 ; 例如: --增加一列      alter table  TB_TEMP add  COL_ID  VARCHAR2(40);      --删除一列      alter table TB_TEMP  drop column COL_ID  ; 2.修改列的类型

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat

MySQL添加字段和修改字段的方法

MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1.登录数据库 >mysql -u root -p 数据库名称 2.查询所有数据表 >show tables; 3.查询表的字段信息 >desc 表名称; 4.1添加表字段 alter table table1 add transactor varchar(10) not Null; alter table   table1 add id in

oracle数据库的建表,删除字段,添加字段,修改字段,修改字段......

1. 使用oracle创建一张表: SQL> create table loginuser( 2 id number(10,2), 3 username varchar(20), 4 password varchar(20), 5 email varchar(30), 6 descriable varchar2(200), 7 regdate date); 创建表的语法: CREATE TABLE table_name( columns_name datatype,...... ); 显示创建表

SQL SERVER 新增表、新增字段、修改字段 判断表是否存在

// 新增之前判断表是否存在 IF NOT EXISTS (SELECT NAME FROM SYSOBJECTS WHERE ID = OBJECT_ID('tb_MessageHistory'))    BEGIN   CREATE TABLE tb_MessageHistory(    LSH VARCHAR(36) NOT NULL  PRIMARY KEY,       -- 流水号     appId VARCHAR(36) NOT NULL,          -- appId  

DB2 建表,添加字段,删除字段,修改字段等常用操作

转载:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html,稍作修改. --创建数据库 create database Etp; --连接数据库 connect to Etp; --断开连接 disconnect Etp; --查看当前数据库下有哪些表 list tables; --删除表 drop table studentinfo; --创建表的同时添加约束方式1 create table studentinfo( stuNo int no

创建表 、修改表名、删除字段、添加字段、修改字段 (高级查询一)

--------创建表 CREATE TABLE `person`(`number` INT(4) AUTO_INCREMENT COMMENT '序号',PRIMARY KEY(number),`name` VARCHAR(50) NOT null COMMENT '姓名',`sex` CHAR(2) COMMENT '性别',`bornDate` DATETIME COMMENT '出生日期') --------修改表名ALTER TABLE `person` RENAME `tb_pers

MySql创建索引、删除索引、新增字段、删除字段、修改字段语句

--------------------------------------------------------- -- ALTER TABLE 创建索引 --------------------------------------------------------- -- 创建主键 ALTER TABLE `table_name` ADD CONSTRAINT PRIMARY KEY( `column` ); -- 创建主键 ALTER TABLE `table_name` ADD PRIM

SQL语句增加字段、修改字段、修改类型、修改默认值

--一.修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值 --二.修改字段名: alter table 表名 rename column A to B --三.修改字段类型: alter table 表名 alter column UnitPrice