Last updated: 12/22/2002 Top ドキュメントTop

データベース管理システム 管理者用ガイド
基本的な処理の流れと関連するAPI

CSV/タブ区切りファイルを使ったデータの追加/修正

概要

データの流れ

ファイルからデータの追加/修正を行います。 事務局権限をもつグループのみがこの処理を行えます。 DBIPgSystem::file_check メソッド や、 DBIPgSystem::file_insert メソッド によって処理されます。

DBIPgSystem::file_check メソッドでは、 フォームからファイルを受け取り、データをチェックした後、 draft用のテーブルにデータを挿入します。 DBIPgSystem::file_insert メソッドでは、 draft用のテーブルに挿入されているデータを、 本テーブルに移動させます。あるいは処理をキャンセルします。

DBIPgSystem::file_check メソッド

パラメータ

remove_head ( BOOLEAN )
ファイルの1行目をヘッダとみなし、無視する場合は true にします。
revise ( BOOLEAN )
ファイルの修正の場合は true にします。
system_state ( NUM )
システムの状態。1 ( 申請中 ) or 2 ( 有効 ) を指定します。
type ( STRING )
ファイルの形式。'csv' または 'tab' で指定します。
file
アップロードされるファイル。 通常は <input type="file" name="file"> のようなフォームを用意 します。
code_dist
文字コードに判別に利用される文字列。 文字コード のページを参照してください。

出力

error ( ARRAYREF )
エラーの情報。
warning ( ARRAYREF )
警告の情報。
over ( ARRAYREF )
ファイル中に重複のあったデータの位置。 各要素には、対応するファイルの行番号が格納されています。
ignored ( ARRAYREF )
本テーブル中のデータと重複したデータの位置。 各要素には、対応するファイルの行番号が格納されています。
invalid ( ARRAYREF )
外部から修正のあったデータの位置。 各要素には、対応するファイルの行番号が格納されています。
permission ( ARRAYREF )
アクセス権がなかったデータの位置。 各要素には、対応するファイルの行番号が格納されています。
num ( HASHREF )
各データの件数や個数。各値は整数です。 キーは error, over, ignored, success, warning, noactive, invalid, permission, error_i, warning_i, total があります。 error_i, warning_i はエラー, 警告の個数を、 それ以外は該当するデータの件数を示しています。
inssid ( STRING )
セッションID(挿入用)
revise = $qs->{revise} ( BOOLEAN )
total_large ( BOOLEAN )
途中経過を表示した場合は 1 を返します。

補足説明

DBIPgSystem::file_check メソッド を参照してください。

ファイルの追加や修正の際に行う処理の詳細については、 DBIPgSystem::DB::file_check メソッド を参照してください。

DBIPgSystem::file_insert メソッド

パラメータ

cancel ( BOOLEAN )
追加/修正をキャンセルする場合は true にします。
inssid ( STRING )
挿入用のセッションのID。

出力

ins_ignored ( ARRAYREF )
draft用テーブルに挿入された後で、 (外部からデータが挿入されたなどの理由で) 本テーブル中のデータと重複したデータの位置。 各要素には、対応するファイルの行番号が格納されています。
ins_invalid ( ARRAYREF )
draft用テーブルに挿入された後で、 外部から修正のあったデータの位置。 各要素には、対応するファイルの行番号が格納されています。
ins_permission ( ARRAYREF )
draft用テーブルに挿入された後で、 (外部からデータが挿入されたなどの理由で) アクセス権がなくなったデータの位置。 各要素には、対応するファイルの行番号が格納されています。
num ( HASHREF )
各データの件数や個数。各値は整数です。 file_checkメソッドの出力 num に加え、 キー ins_ignored, ins_invalid, ins_permission が追加されています。 また、キー success の値は file_check のときとは異なりますが、 その他の対応する値は file_check のときと同じです。 error_i, warning_i はエラー, 警告の個数を、 それ以外は該当するデータの件数を示しています。
where_all ( STRING )
挿入に成功したデータを検索するためのWHERE句を返します。
revise ( BOOLEAN )
データの修正の場合は 1 を返します。
total_large ( BOOLEAN )
途中経過を表示した場合は 1 を返します。

補足説明

DBIPgSystem::file_insert メソッド を参照してください。