SYSCS_UTIL.SYSCS_IMPORT_TABLEシステム手続き

SYSCS_UTIL.SYSCS_IMPORT_TABLEシステム手続きは、入力ファイルから表の全ての列に情報をインポートします。 インポート先の表に既に情報がある場合、既存の情報を置き換えることも、新たに情報を追加することもできます。

構文

SYSCS_UTIL.SYSCS_IMPORT_TABLE (IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128), IN FILENAME VARCHAR(32672),
IN COLUMNDELIMITER CHAR(1), IN CHARACTERDELIMITER CHAR(1),
IN CODESET VARCHAR(128), IN REPLACE SMALLINT)

この手続きは結果を返しません。

SCHEMANAME
この引数の型はVARCHAR(128)で、値には表のスキーマを指定します。空の値を与えた場合は既定のスキーマ名が用いられます。
TABLENAME
この引数の型はVARCHAR (128)で、値には情報をインポートする表の表名を指定します。 この表はシステム表や一時表であってはなりません。空の値を与えた場合はエラーとなります。
FILENAME
この引数の型はVARCHAR(32672)で、値にはインポートする情報の書かれたファイルを指定します。 パスを指定しなければ、現在の作業ディレクトリが使われます。空の値を与えた場合はエラーとなります。
COLUMNDELIMITER
この引数の型はCHAR(1)で、値には列のデリミタを指定します。 指定した文字はコンマの代わりに列の最後を表すために用いられます。 空の値を渡すと既定値が使われます。既定値はコンマ(,)です。
CHARACTERDELIMITER
この引数の型はCHAR(1)で、値には文字のデリミタを指定します。 指定した文字は二重引用符の代わりに文字を囲うために用いられます。 空の値を渡すと既定値が使われます。既定値は二重引用符(")です。
CODESET
この引数の型はVARCHAR(128)で、値には入力ファイルに書かれた情報のコードセットを指定します。コードセットの名称はJavaがサポートする文字エンコーディングのうちの一つでなければなりません。情報は指定したコードセットからデータベースのコードセット(utf-8)に変換されます。 空の値を渡すと、手続きを実行しているJVMと同じコードセットで、データファイルを読み取ります。
REPLACE
この引数の型はSMALLINTです。値が零でなければREPLACEモードで動作して、値が零であればINSERTモードで動作します。 REPLACEモードでは情報を切り捨てて、表にある全ての情報を削除してから、インポートする情報を挿入します。 なお表の定義や索引の定義は変わりません。INSERTモードでは表にある既存の情報はそのままにして、表にインポートする情報を追加します。空の値を渡すとエラーとなります。
スキーマ、表あるいは列の名称をデリミトされない識別子として作成した場合、インポートの手続きには、その名称を全て大文字で指定しなければなりません。 スキーマ、表あるいは列の名称をデリミトされた識別子として作成した場合、インポートの手続きには、大文字・小文字を作成したときと同じにして名称を指定しなければなりません。

使い方

この手続きの使い方については、Derby ツールとユーティリティーガイドにある「バルクインポートとエクスポートの手続き」の章も参照してください。

以下の例では、myfile.delというデリミトされたデータファイルからSTAFF表に情報をインポートします。このとき、文字列のデリミタとしてはパーセンテージ(%)を、列のデリミタとしてはセミコロン(;)を指定します。
CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE
(null, 'STAFF', 'c:/output/myfile.del', ';', '%', null,0);

インポートの詳細についてはDerby ツールとユーティリティーガイドを参照してください。