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

更新トリガー後のOracleは、パブリックデータベースリンクを作成します

    その場でデータベースリンクを作成することは、珍しいことのように思えます。通常、スキーマは静的で安定している必要があります。ただし、必要に応じて、更新とリンクをプロシージャでラップするか、2つのステートメントを発行する方が簡単です。おそらく、更新を実行するものはすべて、とにかくかなり制御されています。そうでない場合は、この複数をトリガーする複数の人に対処する必要があります。何度も、それはさらに混乱するでしょう。

    PRAGMA autonomous_transaction;を追加することで、おそらくこれを機能させることができます。 同様の問題(リンクではなくビューの作成)で示されているように、トリガーに対してこの回答で 、しかし私は現時点でそれをテストする立場にありません。

    create or replace
    TRIGGER CreateLinkTrigger
    after UPDATE of Year ON tableInit 
    for each row
    DECLARE
        add_link VARCHAR2(200);
        PRAGMA autonomous_transaction;
    BEGIN
        ...
    

    この回答ので説明されているように、トリガーに非同期ジョブを送信させてDDLを実行することもできます。>> 、そしてこの回答にはより多くの例があります 、ジョブの匿名ブロックを変更して、execute immediateを実行します。 。

    おそらく、メンテナンス期間中、スケジュール、または手順から、次の数年間のリンクを作成する方がよいでしょう。スキーマの変更をデータの変更に関連付けようとするのではなく。




    1. 請求書データベース構造の設計についてサポートが必要

    2. すべてのSQLServer外部キーに一致するインデックスが必要ですか?

    3. ORA-01840:Selectを使用したOracleInsertの日付形式に十分な長さの入力値がありません

    4. 2つの日付の間の週