INSERT 文の一種とグローバルテンポラリテーブルを使用して、インポートデータをテーブルに合うように並べ替えます。
前提条件
グローバルテンポラリテーブルを作成するには、次のいずれかのシステム権限を持っている必要があります。
データのインポート (ロード) に必要な権限は、-gl データベースオプションの設定値とデータのインポート元によって異なります。データのロードに必要な権限についての詳細は、LOAD TABLE 文の項を参照してください。
INSERT 文を使用するには、テーブルの所有者であるか、次のいずれかの権限を持っている必要があります。
さらに、ON EXISTING UPDATE 句が指定されている場合は、UPDATE ANY TABLE システム権限を持っているか、テーブルに対する UPDATE 権限を持っている必要があります。
[SQL 文] ウィンドウ枠で、入力ファイルと構造が一致するグローバルテンポラリテーブルを作成します。
CREATE TABLE 文を使用して、グローバルテンポラリテーブルを作成できます。
LOAD TABLE 文を使用して、作成したグローバルテンポラリテーブルにデータをロードします。
データベース接続を閉じると、グローバルテンポラリテーブル内のデータは消去されます。ただし、テーブル定義は残ります。この定義は、次にデータベースに接続するときに使用できます。
INSERT 文と SELECT 句を使用し、テンポラリテーブルからデータを抽出して要約し、データベースの 1 つまたは複数の永久テーブルにコピーします。
例
次は前述した手順の例です。
CREATE GLOBAL TEMPORARY TABLE TempProducts ( ID integer NOT NULL, Name char(15) NOT NULL, Description char(30) NOT NULL, Size char(18) NOT NULL, Color char(18) NOT NULL, Quantity integer NOT NULL, UnitPrice numeric(15,2) NOT NULL, CONSTRAINT ProductsKey PRIMARY KEY (ID) ) ON COMMIT PRESERVE ROWS; LOAD TABLE TempProducts FROM 'C:\\ServerTemp\\newProducts.csv' SKIP 1; INSERT INTO Products WITH AUTO NAME (SELECT Name, Description, ID, Size, Color, Quantity, UnitPrice * 1.25 AS UnitPrice FROM TempProducts); |
グローバルテンポラリテーブル内の品目の価格は、ローを Products テーブルに挿入する前に 25% 増しに調整されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |