COPY CLPPlus コマンド
COPY CLPPlus コマンドは、ソースのデータベースと表からターゲットのデータベースと表にデータをコピーします。
呼び出し
このコマンドは、CLPPlus インターフェースから、または CLPPlus スクリプト・ファイルの中から実行する必要があります。
許可
なし
必要な接続
なし
コマンド構文
コマンド・パラメーター
- FROM srcdb
- データのコピー元となる接続の詳細情報とデータベース名を定義します。注: COPY コマンドでは、FROM パラメーターか TO パラメーターのいずれか、あるいはその両方を指定する必要があります。 FROM を指定しないで、TO を指定する場合、データベース接続が存在すると、その接続先のデータベースがソース・データベースに使用されます。
- TO destdb
- データのコピー先となる接続の詳細情報とデータベース名を定義します。注: COPY コマンドでは、FROM パラメーターか TO パラメーターのいずれか、あるいはその両方を指定する必要があります。 TO を指定しないで、FROM を指定すると、データベース接続が存在する場合にはその接続先のデータベースがターゲット・データベースに使用されます。
- APPEND
- データを dest_table に挿入します。 dest_table が存在しない場合は、dest_table 変数および [(col1, col2, ...)] 変数を使用して、宛先表定義を指定する必要があります。
- CREATE
- dest_table を作成して、データを挿入します。 dest_table 変数および [(col1, col2, ...)] 変数を使用して、宛先表定義を指定する必要があります。 dest_table が存在する場合には、エラーが戻ります。
- INSERT
- データを dest_table に挿入します。 dest_table が存在しない場合には、エラーが戻ります。
- REPLACE
- dest_table 変数および [(col1, col2, ...)] 変数を使用して、宛先表定義を指定する必要があります。 dest_table は、ドロップされて再作成され、データが挿入されます。
- dest_table
- データが挿入されるターゲット・データベース表です。
- query
- ソース・データベースからデータを取得するために使用する SQL 照会です。
- user
- データベースへ接続するユーザー ID を指定します。
- password
- ユーザー ID に対応するパスワードを指定します。
- hostname
- データベースが稼働するコンピューター名を指定します。 例えば、ascender という名前のコンピューターの場合は、@ascender と指定します。
- port
- データベース・サーバーがインストールされたコンピューター上の接続受信ポート番号を指定します。 デフォルトは 50000 です。
- database
- 接続先のデータベース名を指定します。 デフォルトは SAMPLE です。
- dsn_alias
- IBM® データ・サーバー・ドライバー構成ファイルから、別名が dsn_alias である DSN のデータベース接続情報を読み取るように指定します。 指定した dsn_alias が IBM データ・サーバー・ドライバー構成ファイルにない場合、dsn_alias というストリングがデータベース名として使用され、その他すべての接続パラメーターは対話的に取得されます。
例
以下のコマンドでは、db1 データベースの emp 表の行をコピーして、db2 データベースの emp 表に追加します。
COPY FROM u1@db1 TO u2@db2 APPEND emp USING SELECT * FROM emp;以下のコマンドでは、db1 データベースの emp 表の行をコピーして、db2 データベースの emp 表に追加します。
ターゲット表が db2 という名前のデータベースに存在しないため、コマンドで表定義を指定する必要があります。
COPY FROM u1@db1 TO u2@db2 APPEND emp (EmpId integer, name varchar(20)) USING SELECT * FROM emp;以下のコマンドでは、db1 データベースの emp 表の行をコピーし、db2 データベースに emp 表を作成し、db2 で新しく定義した表に行を挿入します。
COPY FROM u1@db1 TO u2@db2 CREATE emp (EmpId integer, name varchar(20)) USING SELECT * FROM emp;以下のコマンドでは、db1 データベースの emp 表の行をコピーし、db2 データベースの emp 表に挿入します (このターゲット表は既に存在する)。
COPY FROM u1@db1 TO u2@db2 INSERT emp USING SELECT * FROM emp;以下のコマンドでは、db1 データベースの emp 表の行をコピーし、db2 データベースに emp 表を再作成し、行を置き換えます。
COPY FROM u1@db1 TO u2@db2 REPLACE emp (EmpId integer, name varchar(20)) USING SELECT * FROM emp;