0

シーケンス番号を新しい列として既存のテーブルに挿入したいと考えています。より良い解決策を教えてください。

4

2 に答える 2

2

新しい列を追加したり、...を使用して更新したりできます

 update my_table set my_new_column = rownum

...そして、(挿入した最大数に 1 を加えた数) で始まるシーケンスを作成して、新しい行を続けます。

于 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 に答える