您的位置:首页 > 数据库 > Oracle

Oracle中为某列加序号(测试)

2014-03-26 16:46 211 查看
某天为了做某个测试,需要在为一个表加一个序列号列,就想到了如下的方法,在此记录一下

原理:

利用oracle在创建表示产生的伪列rownum,查出该rownum以后导入到另外一个表中,本文以record表为例,将为stringfield添加序列号,表结构如下

 

SQL> desc record
Name        Type         Nullable Default Comments
----------- ------------ -------- ------- --------
RECORD_GUID VARCHAR2(50) Y
DNIS        VARCHAR2(15) Y
ANI         VARCHAR2(15) Y
STARTTIME   DATE         Y
ENDTIME     DATE         Y
STAFFID     VARCHAR2(10) Y
AGENTID     VARCHAR2(10) Y
EXTENSION   VARCHAR2(20) Y
STRINGFIELD VARCHAR2(20) Y


 

具体步骤

1.复制record表结构到空表record1;

 

create table record1 as select * from record where 1=0;

 

2.查询ecord表列包含rownum 并插入至表record1对应列中;

 

insert into record3(record_guid,dnis,ani,starttime,endtime,staffid,agentid,extension,stringfield) select record_guid,dnis,ani,starttime,endtime,staffid,agentid,extension,rownum from record;


3.删除record表,重命名record1为record表

drop table record;
rename record1 to record;

------仅为测试或参考使用,实际用途暂未发现。。。。。。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: