トリガーおよびOracle Databaseデータ転送ユーティリティ

データベースにデータを転送する(トリガーを起動する可能性のある)Oracle Databaseユーティリティには、次のものがあります。

  • SQL*Loader (sqlldr)

    SQL*Loaderは、外部ファイルからOracle Databaseの表にデータをロードします。

    SQL*Loaderによる従来型ロードの実行中に、INSERTトリガーが起動されます。

    SQL*Loaderによるダイレクト・ロードの前に、トリガーは無効になります。

    関連項目:

    SQL*Loaderの詳細は、『Oracle Databaseユーティリティ』を参照してください。

  • データ・ポンプ・インポート(impdp)

    データ・ポンプ・インポート(impdp)は、データ・ポンプ・エクスポート(expdp)によって作成されたエクスポート・ダンプ・ファイルのセットを読み取り、その内容をOracle Databaseに書き込みます。

    インポート対象の表がターゲット・データベースに存在しない場合、またはTABLE_EXISTS_ACTION=REPLACEを指定する場合、impdpによってトリガーの作成前に表の作成およびロードが行われるため、トリガーは起動されません。

    インポート対象の表がターゲット・データベースに存在し、TABLE_EXISTS_ACTION=APPENDまたはTABLE_EXISTS_ACTION=TRUNCATEを指定する場合、impdpによって既存の表に行がロードされ、その表に対して作成されているINSERTトリガーが起動されます。

    関連項目:

    データ・ポンプ・インポートの詳細は、『Oracle Databaseユーティリティ』を参照してください。

  • オリジナル・インポート(imp)

    オリジナル・インポート(オリジナル・インポート・ユーティリティimp)は、オリジナル・エクスポート(オリジナル・エクスポート・ユーティリティexp)によって作成されたダンプ・ファイルからオブジェクト定義および表データを読み取ります。

    ノート:

    オリジナル・エクスポートによって作成されたファイルをインポートするには、オリジナル・インポートを使用する必要があります。それ以外のすべての場合、オリジナル・インポートのかわりにデータ・ポンプ・インポートを使用することをお薦めします。

    インポート対象の表がターゲット・データベースに存在しない場合、impによってトリガーの作成前に表の作成およびロードが行われるため、トリガーは起動されません。

    インポート対象の表がターゲット・データベースに存在する場合、インポートのIGNOREパラメータによってインポート操作中にトリガーが起動されるかどうかが決定されます。IGNOREパラメータでは、オブジェクト作成エラーを無視するかどうかを指定し、その結果、次のように動作します。

    • IGNORE=n(デフォルト)の場合、impでは表が変更されず、トリガーは起動されません。

    • IGNORE=yの場合、impによって既存の表に行がロードされ、その表に対して作成されているINSERTトリガーが起動されます。

    関連項目: