シーケンス番号を新しい列として既存のテーブルに挿入したいと考えています。より良い解決策を教えてください。
2428 次
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 に答える