デフォルト: 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
句で指定された列が見つからないと、エラー・メッセージが生成され、その不適切な表については行がエクスポートされません。