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

Oracleトリガーで、行タイプ変数に新旧を割り当てることはできますか?

    いいえ、できません。 :new および:old は疑似レコードであり、ローカル変数に割り当てることができる実際のレコードではありません。テーブルがオブジェクトタイプに基づいている場合は、:new および:old その場合、他のオブジェクトと同じように渡すことができる特定のオブジェクトタイプの実際のインスタンスになります。ただし、トリガーを記述しやすくするためだけに、オブジェクトの観点からテーブルを定義する価値があるとは考えられません。

    もちろん、データディクショナリ(all_tab_columnsなど)のクエリなどを実行して、必要なトリガーコードを自動的に生成するPL/SQLパッケージを作成することもできます。 テーブル内の列のリストを取得するには)動的SQLを使用します。作成する必要のあるトリガーの数によっては、同様のコードを大量に作成して維持するよりも簡単な場合があります。



    1. OracleEBSでXMLImporterとFndXdfCmpを使用する方法

    2. テーブルの作成中にエラーが発生しました:1行目の'order(order_id INT UNSIGNED NOT NULL AUTO_INCREMENT、user_id'の近くのSQL構文にエラーがあります

    3. T-SQL火曜日#64:1つのトリガーまたは多数?

    4. ユーザー定義タイプに関する情報を取得するにはどうすればよいですか?