0

我想将序列号作为新列插入到现有表中。能不能给个更好的解决方案。

4

2 回答 2

2

您可以添加新列,使用...更新它

 update my_table set my_new_column = rownum

...然后创建一个以(您刚刚插入的最大数量加一)开头的序列以继续新行。

于 2013-03-26T09:56:31.733 回答
0

样品表:

create table foo (some_data varchar(20));
insert into foo (some_data) values ('foo');
insert into foo (some_data) values ('bar');
insert into foo (some_data) values ('foobar');
insert into foo (some_data) values ('barfoo');
commit;

添加一个新列:

alter table foo add (id integer);

现在创建一个新序列来填充id列:

create sequence foo_seq;

使用序列更新新列:

update foo set id = foo_seq.nextval;
于 2013-03-26T10:31:49.863 回答