デフォルト: none
このパラメータでは、表モード・エクスポートの実行時に、表のセットから行のサブセットを選択できます。問合せパラメータの値は、TABLESパラメータにリストされたすべての表(または表のパーティション)に適用されるSQL SELECT文のWHERE句が含まれている文字列です。
たとえば、ユーザーscottが、肩書きがSALESMANで給与が1600未満の従業員のみをエクスポートする場合は、次のように指定できます(この例はUNIXに基づいています)。
exp scott TABLES=emp QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"
注意:
QUERYパラメータの値には空白が含まれるため、ほとんどのオペレーティング・システムでは、WHERE job=\'SALESMAN\'およびsal\<1600の文字列全体を二重引用符で囲むか、なんらかの方法でリテラルとしてマークする必要があります。オペレーティング・システムで予約されている文字も、エスケープ文字を前に付ける必要があります。システムの特殊文字および予約文字の詳細は、ご使用のオペレーティング・システム固有のOracleマニュアルを参照してください。
この問合せの実行中に、エクスポート・ユーティリティでは次のようなSQL SELECT文が構築されます。
SELECT * FROM emp WHERE job='SALESMAN' and sal <1600;
QUERYパラメータに指定された値は、TABLESパラメータにリストされているすべての表(または表のパーティション)に適用されます。たとえば、次の文では問合せに一致するempとbonusの両方にある行がアンロードされます。
exp scott TABLES=emp,bonus QUERY=\"WHERE job=\'SALESMAN\' and sal\<1600\"
また、エクスポート・ユーティリティでは次のようなSQL文が実行されます。
SELECT * FROM emp WHERE job='SALESMAN' and sal <1600; SELECT * FROM bonus WHERE job='SALESMAN' and sal <1600;
表にQUERY句で指定された列が見つからないと、エラー・メッセージが生成され、その不適切な表については行がエクスポートされません。