SYSCS_UTIL.SYSCS_IMPORT_DATAシステム手続き

SYSCS_UTIL.SYSCS_IMPORT_DATAシステム手続きは、表にある一部の列に情報をインポートします。これらの一部の列は、情報を挿入する時に指定します。 またこの手続きにて、列の番号を指定して、ファイルから一部の列をインポートできます。

構文

SYSCS_UTIL.SYSCS_IMPORT_DATA (IN SCHEMANAME VARCHAR(128),
IN TABLENAME VARCHAR(128), IN INSERTCOLUMNS VARCHAR(32672),
IN COLUMNINDEXES VARCHAR(32672), 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)で、値により情報のインポート先となる表の表名を指定します。この表にはシステム表や一時表を指定することはできません。空の値を渡すと、エラーとなります。
INSERTCOLUMNS
この引数の型はVARCHAR (32762)で、表にある列から情報のインポート先となる列の名称を(コンマで区切られた)値で指定します。
COLUMNINDEXES
この引数の型はVARCHAR (32762)で、インポートする入力情報フィールドの(1からはじまり、コンマで区切られる)番号を指定します。空の値を渡すと入力ファイルの全入力情報フィールドが用いられます。
FILENAME
この引数の型はVARCHAR(32672)で、インポートする情報のあるファイルを指定します。 もしパスが指定されない場合、現在の作業ディレクトリが用いられます。空の値を渡すとエラーとなります。
COLUMNDELIMITER
この引数の型はCHAR(1)で、列のデリミタを指定します。指定した文字はコンマの代わりに列の終わりを表すために用いられます。空の値を渡すと既定値が用いられます。既定値はコンマ(,)です。
CHARACTERDELIMITER
この引数の型はCHAR(1)で、文字のデリミタを指定します。指定した文字は二重引用符の代わりに文字列を囲います。空の値を渡すと既定値が用いられます。既定値は二重引用符(")です。
CODESET
この引数の型はVARCHAR(128)で、入力ファイルにある情報のコードセットを指定します。コードセットの名前はJavaのサポートする文字エンコーディングのうちの一つでなければなりません。  情報は個々で指定したコードセットからデータベースのコードセット(utf-8)に変換されます。空の値を渡すとデータベースは処理中のJVMと同じコードセットで解釈されます。
REPLACE
この引数の型はSMALLINTです。値が零でなければREPLACEモードとなり、零ならINSERTモードとなります。REPLACEモードでは、表は切り捨てられて存在する全情報が削除され、それからインポートする情報が挿入されます。 なお表の定義や索引の定義は変わりませ年。表が存在するときにのみ、REPLACEモードは可能です。INSERTモードでは、表にある既存の情報を変更せずに、インポートする情報が表に追加されます。空の値を渡すとエラーとなります。

スキーマ、表や列の名前がデリミトされない識別子で作成されていた場合、インポートの手続きに渡す名前は全て大文字でなければなりません。 スキーマ、表や列の名前がデリミトされた識別子で作成されていた場合、インポートの手続きに渡す名前の大文字小文字は、作成時に指定した値と同じでなければなりません。

使い方

この手続きの使い方に関しては、Derby ツールとユーティリティーガイドの「バルクインポートとエクスポートの手続きを使う」の章も読んでください。

次の例では、data.delというデリミトされたデータファイルにある一部のフィールドを、staff表にインポートします。
CALL SYSCS_UTIL.SYSCS_IMPORT_DATA
(NULL, 'STAFF', null, '1,3,4', 'data.del', null, null, null,0)