COPY CLPPlus コマンド

COPY CLPPlus コマンドは、ソースのデータベースと表からターゲットのデータベースと表にデータをコピーします。

呼び出し

このコマンドは、CLPPlus インターフェースから、または CLPPlus スクリプト・ファイルの中から実行する必要があります。

許可

なし

必要な接続

なし

コマンド構文

構文図を読む構文図をスキップするCOPYFROMsrcdb TOdestdb APPENDCREATEINSERTREPLACEdest_table[(col1, col2, ...)]USINGquery
srcdb, destdb
構文図を読む構文図をスキップするconnection_identifier/@dsn_alias
connection_identifier
構文図を読む構文図をスキップするuser /password@host:port/database

コマンド・パラメーター

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;