ITPub博客

首页 > 数据库 > Oracle > SQL小小擂台------请用一个sql更新主键列

SQL小小擂台------请用一个sql更新主键列

原创 Oracle 作者:zhuojm 时间:2007-11-01 00:33:54 0 删除 编辑

create table myobject
as
select rownum as id, a.* from all_objects a
where rownum<=5000;

alter table MYOBJECT
add constraint pk_myobject primary key (ID);

create table mychange(id1 number,id2 number);

declare
i integer;
begin
for i in 1..500
loop
if mod(i,7)=0 then
--此处是模拟产生数据,ID1,ID2之间没有关联关系,是随机的
insert into mychange(id1,id2) values(i,i+1000);
end if;
end loop;
end;

说明:
请根据mychange表的数据来更新myobject表.
更新方式为把myobject表的id根据mychange中的两个字段对调.
比如 mychange 中的一条数据为 7,1007
那么 需要把myobject中id为7的记录的id改为1007,id为1007的记录改为7.

注意mychange表中的数据是没有规律的,此处有差为1000的关系只是为了
产生数据方便.

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/698002/viewspace-980290/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 常用网站
请登录后发表评论 登录
全部评论
  • 博文量
    7
  • 访问量
    2825