sql >> データベース >  >> RDS >> Oracle

R12.2のフォワードクロスエディショントリガー

    はじめに

    このセクションでは、Oracleエディションベースの再定義(フォワードクロスエディショントリガー)を使用したR12.2オンラインパッチでのテーブルデータの処理について説明します

    パッチが列の説明を大文字と小文字の混合から大文字に変更する必要があるとします

    表Aの既存の説明列の値は(red、ORANGE…)
    パッチの要件は
    説明列の大文字の値は(RED、ORANGE…)

    オンラインパッチ適用の手順
    •テーブルにパッチを適用するときに、テーブルに新しい列Description#1を作成します
    •パッチを作成します。マップの編集ビュー:
    実行–説明=>説明
    パッチ–説明=>説明#1

    次のステップは、説明#から説明#1を入力することです。これは、フォワードクロスエディショントリガーを使用して実現されます

    フォワードクロスエディションのトリガーとは何ですか?

    (1)フォワードクロスエディショントリガーは、エディション間で機能するデータベーストリガーです。

    (2)フォワードクロスエディショントリガーは、オンラインパッチ適用プロセスの一部としてデータを同期するために使用されます。フォワードクロスエディショントリガーは、古い行を1つ以上の新しい行に変換するためのルールである変換を定義します。古い行は、アップグレード前の表現のデータの行です。新しい行は、アップグレード後の表現のデータの行です。トリガーの名前は、トリガー自体と、トリガーが定義する変換を指します。

    (3)パッチを適用すると、大文字と小文字が混在するデータから大文字にデータが同期されます。これで、パッチ適用からカットオーバー時間までに行われたデータ変更は、フォワードクロスエディショントリガーによって新しい列に入力されます

    (4)実行エディションとパッチエディションのストレージ列間でデータを同期および変換するためのロジックを提供します

    (5)要約すると、これらは、実行エディションの使用中に発生する既存のデータと進行中の変更の両方をアップグレードするために使用されます。

    (6)Run Editionコードがデータのアップグレードが必要であることを通知し、テーブルの挿入、更新に応じて起動します
    (7)この特定の場合、「説明」列を混合からにアップグレードします大文字
    実行中のアプリケーションは引き続き列データを大文字小文字の混合として認識します
    パッチされたアプリケーションは列データを大文字として認識します

    トリガー定義は次のようになります

    CREATE OR REPLACE EMPLOYEE_FET
    BEFORE INSERT OR UPDATE
    ON EMPLOYEE
    FOR EACH ROW
    FORWARD CROSSEDITION
    DISABLE
    BEGIN
    :NEW.description#1 := Upper(:NEW.description);
    END EMPLOYEE_FET;
    のEMPLOYEEを挿入または更新する前に、EMPLOYEE_FETを作成または置換します。

    フォワードエディショントリガーに関するいくつかのポイント

    • クロスエディショントリガーは一時的なものです。再構築されたテーブルをすべてのユーザーが利用できるようにした後で、トリガーを削除します。
    • クロスディショントリガーは、ビューではなくテーブルで定義する必要があります。
    • クロスディショントリガーはDMLトリガー(単純または複合)である必要があります。
    • クロスディショントリガー本体のDMLステートメントは、静的SQLステートメントまたはネイティブ動的SQLステートメントのいずれかです。
    • REVERSEを指定しない限り、クロスディショントリガーはフォワードです。 (FORWARDの指定はオプションです。)

    このロジックを理解していただければ幸いです。フィードバックを教えてください

    関連記事
    Oracleのテーブルでトリガーを確認する方法:Oracleでトリガーのステータスを確認する方法、トリガーを有効/無効にする方法、トリガー定義を見つける方法、すべてのトリガーを見つける方法
    Oracle EBS監査:Oracle EBS監査の設定方法、監査グループにテーブルを追加する方法、監査する列を選択する方法、監査証跡の更新同時要求
    oracle EBSパスワードの有効期限:Oracle EBSパスワードの有効期限に関する便利なクエリ、停止する方法OracleEBSでのユーザーアカウントの作成時にパスワードを強制的にリセットする
    OracleR12.2アーキテクチャ:このページには、Oracle R12.2アーキテクチャ情報、テクノロジスタック情報、以前のリリースとの重要な違いが含まれています
    https:// docs .oracle.com / cd / E11882_01 / appdev.112 / e41502 / adfns_editions.htm#ADFNS99912


    1. Oracle BLOBフィールドからファイルを抽出するにはどうすればよいですか?

    2. スカラー集計を使用したインデックス付きビューのバグ

    3. JSON_ARRAYAGG()–MySQLのクエリの行からJSON配列を作成します

    4. Windows認証またはSQL認証でlocalhost\SQLEXPRESSにアクセスするために使用する必要のあるSQL接続文字列は何ですか?