0

Oracle SQL Developer Data Modelerを使用して、データベースのリレーショナルモデルを作成してきました。テーブルの自動インクリメントIDが必要だったので、[テーブルのプロパティ]>[スクリプト]>[作成後]セクションに配置するスクリプトを作成しました。しかし、私が抱えている問題は、すべてのテーブルのデータベースの名前、シーケンス、およびトリガーを変更する必要があることです。

したがって、とにかくテーブルの名前を変更する必要がある場合は、スクリプトを変更するのが面倒になります。

スクリプト領域からテーブル名を参照する方法はありますか?変数、テンプレート、またはプレースホルダーのように?

これが私のスクリプトのサンプルです:

CREATE SEQUENCE table_Seq
START WITH 1
INCREMENT BY 1;

CREATE OR REPLACE TRIGGER table_Trigger
BEFORE INSERT
ON table
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT table_Seq.nextval INTO :NEW.ID FROM dual;
END;
/

ありがとう

4

1 に答える 1

0

Oracle SQL Developer Data Modelerにシーケンスとトリガーを処理する組み込み関数があることを理解した後、この問題を解決しました。

このインターフェースにアクセスするには...

  1. テーブルのプロパティを開きます(リレーショナルモデルビューでテーブルオブジェクトをダブルクリックします)。
  2. 左側のメニューツリーから「列」を選択します。
  3. シーケンスとトリガーを作成する列をダブルクリックします。
  4. 左側のメニューツリーから「自動インクリメント」を選択します。(この列のシーケンスを作成するための情報を入力してください)
  5. [トリガーの生成]チェックボックスをオフにすると、このシーケンスのトリガーが自動生成されます。
于 2012-09-19T22:38:05.937 に答える