トリガーおよび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
トリガーが起動されます。
関連項目:
-
オリジナル・インポート・ユーティリティの詳細は、『Oracle Databaseユーティリティ』を参照してください。
-
オリジナル・エクスポート・ユーティリティの詳細は、『Oracle Databaseユーティリティ』を参照してください。
-
IGNORE
の詳細は、『Oracle Databaseユーティリティ』を参照してください。
-