ORACLEバックアップ exp

オラクルのバックアップはコマンドプロンプトから以下のコマンドを実行します。

exp id/password@db file=backup.dmp full=y

id部分には、登録したIDを、
passwordには、登録したときのパスワードを
dbは、データベース名を入力する
backup.dmp は、バックアップファイル名を指定する。
パスをつけてもかまいません。

特定のテーブルをバックアップするには

exp id/password@db tables=(‘table_a’,’table_b’) file=c:\backup.dmp

tables=(,,,)で指定します。

条件を指定してバックアップするには

exp id/password@db tables=table_a query=\”where a_name like ‘%taro%’\” file=c:\backup.dmp

上記の例では、table_a テーブルから a_name フィールドに taro という文字が含まれているレコードのみバックアップします

[SQL Server] in句に可変値を渡す

検索条件が可変のときはin句を使用しますが、データセットとかのパラメータではin句へ値を渡すことができません。(1つしか)
そこで1つの文字列を渡すことで解決しました。

select xxCD, xxNM
  from xxTable
 where
    (
       --検索文字列の入力が無い時は常にtrueとする
         (@検索文字列 = ”)
       or
       --検索文字列が入力されたときに文字列比較する
         (@検索文字列 <> ”
          and
            --"0000"パディングすること
            charindex(right(‘0000′ + convert(varchar,xxCD),4),@検索文字列) > 0
         )
    )

肝は、検索条件を0000の4桁としている事ですね。
当初 検索対象が数値なので、検索文字列に 1,2,5 と渡していたのですが、100 とか20とか正しくないものまで返ってきたので渡す方も、比較される方も4桁としました。

charindexでその文字が含まれるかを調べますが、ここを変更することでORACLEとか他のデータベースでも使えると思います。
@検索文字列には、’0001′,’0002′,’0005′ などを渡します。