私は、テーブルの列をIDで連結して新しいテーブルに挿入するトリガーを持っています。表Aの更新、挿入、削除が実行されると、idでグループ化してcolumn1を連結して表Bに挿入します。トリガーをグループごとに新しいテーブルに連結する
問題が発生すると、例外表がスローされます。これは、トリガーがクエリを実行するためです。
トリガーを使用してこれを修正するにはどうすればよいですか? (ストアドプロシージャを使用できず、スケジュールされたタスクの使用を避けたい)。
私は、テーブルの列をIDで連結して新しいテーブルに挿入するトリガーを持っています。表Aの更新、挿入、削除が実行されると、idでグループ化してcolumn1を連結して表Bに挿入します。トリガーをグループごとに新しいテーブルに連結する
問題が発生すると、例外表がスローされます。これは、トリガーがクエリを実行するためです。
トリガーを使用してこれを修正するにはどうすればよいですか? (ストアドプロシージャを使用できず、スケジュールされたタスクの使用を避けたい)。
「トリガーを使用してこれを修正するにはどうすればよいですか(ストアドプロシージャは使用できず、 はスケジュールされたタスクを使用しないでください)。
トリガーを使用してこれを行う方法はありません。
行レベルのトリガーを使用することはできません。これは、検出すると、選択によって変異テーブル例外がスローされるためです。
テーブルレベルのトリガーは使用できません.NEWまたは:OLDの値は参照できません。
行レベルのトリガーに名前空間変数を設定して、テーブル・レベル・トリガーにNEWまたはOLD値を渡すことはできますが、コンテキストには作成できないストアード・プロシージャーが必要です。
テーブルはどうですか?影響を受けるIDを渡すためのテーブルを作成することは許可されますか?
しかし、厄介な機能を実装するだけでオーバーヘッドが大きくなります。 ORA-04091の例外は、ほとんどの場合、データ・モデルの欠陥を示しており、確かにそのように思われます。
唯一の方法は、新しいテーブルを作成し、影響を受けるIDを行レベルのトリガーに挿入させることです。次に、IDレベルを処理するテーブルレベルのトリガを設定しますか? – firebird
マテリアライズドビューを使用できますか? – Craig
'tablea'でDML操作を実行すると、' tablea'にも挿入されます。 – Ben
'insert into tableb'を意味しますか? – APC