この記事では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句を囲うダブルクォーテーションは\でエスケープする必要があります。
条件が複雑になるとエスケープも多用され、わかりにくくなるため、その場合はパラメータファイルを使うとわかりやすいです。