DataPumpで問い合わせ句を使用してエクスポートする方法

この記事ではDataPumpで問い合わせ句を使用してエクスポートする方法について解説します。

 DataPumpでWHERE句を使用する方法

DataPumpでデータを抽出するときにWHERE句を使って特定のデータのみ抽出したいケースがあるかと思います。

その場合はパラメータにQUERY句を追加することでWHERE句を使用することができます。

QUERYは以下のように使用します。

QUERY=<スキーマ名>.<テーブル名>:"<WHERE句で条件を指定>"

コマンドラインで使用する際はダブルクォーテーションやシングルクォーテーションのエスケープが必要になるので注意が必要です。


 使用例

例としてsales表からprod_IDが100のデータを抽出します。

expdp user/password content=data_only tables=sales QUERY=test.sales:\"WHERE prod_ID=100\" dumpfile=sales.dmp logfile=sales.log 

WHERE句を囲うダブルクォーテーションは\でエスケープする必要があります。

条件が複雑になるとエスケープも多用され、わかりにくくなるため、その場合はパラメータファイルを使うとわかりやすいです。