欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一次搞怪的经历

程序员文章站 2022-06-01 20:22:39
...
今天想在一个表某列中插入序列“1、2、3、4、5......”,很简单的一句话,
update b set id = rownum

搞了一个存储过程来弄弄:
create or replace package body A is
procedure genid(return_code_ out varchar2, return_msg_ out varchar2) is
num NUMBER(16);
ids NUMBER(16);
begin
select count(*) into num from b;
update b set id = '';
for ids in 1 .. num loop
update b t set t.id = ids where rownum = 1 and t.id is null;
commit;
end loop;
exception
when others then
rollback;
return_code_ := -1;
return_msg_ := sqlerrm(sqlcode);
end;
end;

搞怪了吧,呵呵!!
相关标签: SQL