网站建设资讯

NEWS

网站建设资讯

oracle怎么添加列,oracle在指定列后添加列

oracle怎样手动向表中指定位置插入新的列?

第一种方法:企业管理器-〉设计表-〉右键第4列-〉插入列

成都网站设计、做网站服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。创新互联建站把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!

第二种方法:SQL语句,没有直接在指定位置插入的语句,不过我考虑的语句很简单

1.新建一张表,原来是abcde,现在新建为abcXde,X是插入的列

2.把原来abcde中的数据全部插入新表中

3.删除旧表abcde

如何在oracle表中添加一列自动增长的数据?

oracle中没有自动增长,只有序列号\x0d\x0a添加一条记录和sqlserver一样\x0d\x0a语法:insert into table(列,列,列) values(value,value,value); \x0d\x0a\x0d\x0a如果有个自动增长列\x0d\x0a可以用这种方法,首先创建一个序列号SEQ_Test\x0d\x0a然后insert into table(ID,列,列) values(SEQ_Test.nextval,value,value);

急急急!!! oracle中怎样在特定的列后添加新的列

alter table table_name add (e number(4));

oracle中不能在某列前后固定插入,只会在最后列中追加

插入新列不影响前面的数据

其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么

如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:

create table B as select a,b,e,c,d from A

drop table A

alter table B rename A

oracle怎么用命令向建好的表中插入一列并使它成为第一列?请说详细点,最好举例说明。

分为两步来实现,首先插入数据,假设表T,有字段col1,col2,col3,需要向前200行的col2插入行数+1的值,并将col2变为第一列,

插入数据有两种方法:

1》直接update即:UPDATE T SET T.COL2 = ROWNUM + 1 WHERE ROWNUM =200;

2》写一个存储过程

CREATE OR REPLACE PROCEDURE INS IS

BEGIN

FOR I IN 1 .. 200 LOOP

INSERT INTO T (COL2) VALUES (I);

END LOOP;

COMMIT;

END;

编译并运行该过程,插入列即完成。

下面将COL2列调整为第一列:

方法一:借用临时表,建temp表与t表的表结构、数据完全一致,重建t表,调整字段顺序,再将temp表的数据导回来,即

CREATE TABLE TEMP AS SELECT * FROM T;

CREATE TABLE T(

COL2 TYPE,

COL1 TYPE,

COL3 TYPE

);

INSERT INTO T

SELECT COL2,COL1,COL3 FROM TEMP;

COMMIT;

DROP TABLE TEMP;

此方法需要足够的空间、回滚段和时间消耗

方法2:利用数据库表对象更新字段的序列号

在当前表用户下使用下面命令查询T对象的编号:

select OBJECT_name,object_id from all_objects where object_name='T';(注意一定要大写)

SQL /

OBJECT_NAME OBJECT_ID

------------------------------ ----------

T 50555

切换到sys帐号下

select obj#,col#,name from col$ where obj#=50555;

OBJ# COL# NAME

---------- ---------- ----------------------------

50555 1 COL1

50555 2 COL2

50555 3 COL3

Elapsed: 00:00:00.03

下面可以通过修改这个系统表来实现修改列名与顺序,注意,COL#就是列的顺序。

UPDATE COL$ SET COL#=2 WHERE OBJ#=50555 and name='COL1';

UPDATE COL$ SET COL#=1 WHERE OBJ#=50555 and name='COL2';

再次查询

select obj#,col#,name from col$ where obj#=50555;

OBJ# COL# NAME

---------- ---------- ------------------------------

50555 1 COL2

50555 2 COL1

50555 2 COL3

提交修改commit ;

重启服务

SQL SHUTDOWN IMMEDIATE

SQLSTARTUP

重新登录表用户下,查询SELECT * FROM T;

COL2 COL1 COL3

至此列顺序调整成功

oracle 添加列

添加列的语法是:

alter table table_name add (w number(4),y number(4));

但是你是无法控制新增的列在1,2,3,4,5前面。只能采用变通的方法;

1 如上先把列添加上。

2 然后

create table table_name1 select (A,B,C...,W,Y,1,2,3,4,5) from table_name;

3 drop table table_name;

4 alter table table_name1 rename table_name;


分享名称:oracle怎么添加列,oracle在指定列后添加列
网站链接:http://cdweb.net/article/dseopjc.html