2

次のようなテーブルを持つDerbyデータベースを変更しようとしています。

CREATE TABLE sec_merch_categories (
category_id int NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
packageName VARCHAR(100) NOT NULL,
name VARCHAR(100) NOT NULL,
primary key(category_id)
);

category_id列を次のように変更したいと思います。

category_id int NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),

これを文書化するのを私が見た唯一の場所は、式を削除し、テーブルの整合性を変更し、式を追加し直すようにアドバイスするIBMのDB2です。とにかくダービーでこれを行う方法はありますか?

ありがとう、

アンドリュー

4

1 に答える 1

0

必要なスキーマ(ただし別の名前)で新しいテーブルを作成し、INSERT INTO ... SELECT FROM ...を使用して古いテーブルから新しいテーブルにデータをコピーする(または古いテーブルをアンロードしてリロードする)ことができますコピーデータシステムプロシージャを使用して新しいテーブルに追加します)、次にRENAME TABLEを使用して古いテーブルの名前を別の名前に変更し、新しいテーブルの名前を目的の名前に変更します。

また、上記のコメントで@a_horse_with_no_nameが示しているように、これらの手順はすべて、ApacheWebサイトのDerbyドキュメントに記載されています。

于 2012-12-15T15:18:39.540 に答える