INPUT 文は、異なるファイル・フォーマットのデータを既存のテーブルや新しいテーブルにインポートするために使用します。データベースの ODBC ドライバが存在する場合は、USING 句を使用すると、異なる種類のデータベースや異なるバージョンの SQL Anywhere データベースからデータをインポートできます。
INPUT 文を使用すると、TEXT および FIXED フォーマットのデータをインポートできます。他のファイル・フォーマットのデータをインポートするには、USING 句と ODBC データ・ソースを使用します。
デフォルトの入力フォーマットを使用したり、INPUT 文ごとにファイル・フォーマットを指定することができます。INPUT 文は Interactive SQL コマンドなので、IF 文などの複合文やストアド・プロシージャでは使用できません。
INPUT 文は、ファイルまたは他のデータベースからデータをインポートする場合に使用します。
詳細については、INPUT 文 [Interactive SQL]を参照してください。
即時ビューでは、基本となるテーブルにデータをバルク・ロードしようとするとエラーが返されます。最初にビューのデータをトランケートしてから、バルク・ロード・オペレーションを実行する必要があります。
手動ビューでは、基本となるテーブルにデータをバルク・ロードできます。ただし、ビュー内のデータは次回のリフレッシュ時までは古いままです。
テーブルへのバルク・ロード・オペレーション (INPUT など) を実行する際は、先に従属するマテリアライズド・ビューのデータをトランケートすることを検討してください。データをロードしたら、ビューをリフレッシュします。TRUNCATE 文とREFRESH MATERIALIZED VIEW 文を参照してください。
即時テキスト・インデックスでは、基本となるテーブルで INPUT などのバルク・ロード・オペレーションを実行してからテキスト・インデックスを更新すると、自動更新にもかかわらず時間がかかる場合があります。手動テキスト・インデックスでは、リフレッシュにも時間がかかる場合があります。
テーブルへのバルク・ロード・オペレーション (INPUT など) を実行する際は、先に従属するテキスト・インデックスを削除することを検討してください。データをロードしたら、テキスト・インデックスを再作成します。DROP TEXT INDEX 文とCREATE TEXT INDEX 文を参照してください。
INPUT 文を使用すると、変更内容はトランザクション・ログに記録されます。メディア障害が発生した場合は、詳細な変更の記録があります。ただし、この方法ではすべてのローがトランザクション・ログに書き込まれるので、この方法で大量のデータをインポートすると、パフォーマンスに影響が及びます。
対照的に、LOAD TABLE 文では各ローがトランザクション・ログに保存されないため、INPUT 文よりも高速な可能性があります。ただし、サポートされるデータベースやファイル・フォーマットの面では、INPUT 文の方が柔軟性があります。
次の値から成るテキスト・ファイルを作成し (値は 1 行で入力します)、new_employees.txt という名前で保存します。
101,500,'Chan','Julia',100,'300 Royal Drive', 'Springfield','OR','USA','97015','6175553985', 'A','017239033',55700,'1984-09-29',,'1968-05-05', 1,1,0,'F' |
Interactive SQL を開き、SQL Anywhere 11 Demo データベースに接続します。
[SQL 文] ウィンドウ枠に INPUT 文を入力します。
INPUT INTO Employees FROM c:\new_employees.txt FORMAT TEXT; SELECT * FROM Employees; |
この文では、SQL Anywhere 11 Demo データベース内のインポート先テーブルの名前は Employees で、new_employees.txt はソース・ファイルの名前です。
文を実行します。
インポートに成功すると、[メッセージ] タブに、データのインポートに要した時間が表示されます。インポートに失敗した場合は、インポートに失敗した理由を示すメッセージが表示されます。
Microsoft Excel でスプレッドシートを開きます。
Microsoft Excel で、インポートするセルを選択し、[挿入] - [名前] - [定義] を選択します。
選択したセルに myData などの名前を入力します。
[OK] をクリックします。
スプレッドシートを保存して閉じます。
スプレッドシート用の ODBC データ・ソースを作成します。
[スタート] - [プログラム] - [SQL Anywhere 11] - [ODBC アドミニストレータ] を選択します。
[ユーザー DSN] タブを選択して現在のユーザー用の DSN を作成するか、[システム DSN] タブを選択してシステム全体にわたる DSN を作成します。
[追加] をクリックします。
ドライバのリストから Microsoft Excel Driver を選択し、[完了] をクリックします。
必要なパラメータを指定し、[OK] をクリックしてウィンドウを閉じ、データ・ソースを作成します。
たとえば、[データ ソース名] に myExcelFile と入力します。[ブックの選択] をクリックし、Excel スプレッドシート・ファイルを参照して探します。
[OK] をクリックして DSN を保存します。
Interactive SQL を開き、SQL Anywhere データベースに接続します。
次の INPUT 文を実行して Excel スプレッドシートからデータをインポートし、t という名前の新しいテーブルに保存します。
INPUT USING 'dsn=myExcelFile;DSN=myExcelFile' FROM "myData" INTO "t" CREATE TABLE ON |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |