Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » リモート・データとバルク・オペレーション » データのインポートとエクスポート » データのインポート

 

インポート用のテーブル構造

ソース・データの構造は、インポート先テーブル自体の構造と一致する必要はありません。たとえば、カラムのデータ型が異なる、順序が異なる、またはロード先のテーブルのカラム数を超えるインポート・データの値があるなどです。

テーブルまたはデータの並べ替え

インポートするデータの構造がインポート先テーブルの構造と一致しないことがわかっている場合は、次の操作を行うことができます。

  • LOAD TABLE 文でロードするカラムの名前リストを入力します。

  • INSERT 文の一種とグローバル・テンポラリ・テーブルを使用して、インポート・データをテーブルに合うように並べ替えることができます。

  • INPUT 文を使用して、カラムの特定のセットまたは順序を指定できます。

カラムに NULL 値を入力できるようにする

インポート中のファイルにテーブルのカラムのサブセットへのデータがある場合、またはカラムの順序が異なる場合は、LOAD TABLE 文の DEFAULTS オプションを使用して、ブランクを埋めて一致しないテーブル構造をマージすることもできます。

  • DEFAULTS オプションが OFF の場合は、カラム・リストにないカラムすべてに NULL が割り当てられます。DEFAULTS オプションが OFF で、NULL 入力不可のカラムがカラム・リストから省かれている場合は、データベース・サーバは、空の文字列をカラムの型に変換しようとします。

  • DEFAULTS オプションが ON で、カラムにデフォルト値が入っている場合は、その値が使用されます。

たとえば、Customers テーブルの City カラムにデフォルト値を定義してから、次のような LOAD TABLE 文を使用して new_customers.txt という架空のファイルから新しいローを Customers テーブルにロードできます。

ALTER TABLE Customers
ALTER City DEFAULT 'Waterloo';
LOAD TABLE Customers ( Surname, GivenName, Street, State, Phone )
FROM 'new_customers.txt'
DEFAULTS ON;

City カラムには値が入力されていないため、デフォルト値が入力されます。DEFAULTS OFF が指定されている場合は、City カラムには空の文字列が割り当てられます。