メインコンテンツへスキップ

一時テーブルへのデータ挿入

一時テーブルは動的に作成され、初めて挿入するときに実行時に生成されます。一時テーブルは名前に # が含まれることで識別されます。削除に一時テーブルを使用する場合、一時テーブルは [TableName]#TEMP という形式で命名する必要があります。ここで TableName は挿入先テーブルの名前です。例:
INSERT INTO Orders#TEMP (Id) VALUES ('AX1000001');
INSERT INTO Orders#TEMP (Id) VALUES ('AX1000002');
INSERT INTO Orders#TEMP (Id) VALUES ('AX1000003');
これにより、1 カラム 3 行のデータを持つ Orders#TEMP という一時テーブルが作成されます。一時テーブル自体ではデータ型を判断できないため、すべての値はメモリ内に文字列として保存されます。これらの値は、Orders テーブルに送信される際に適切な型に変換されます。

実際のテーブルからの削除

一時テーブルにデータが挿入されたら、次は実際のテーブルから削除します。実際のテーブルから DELETE を実行し、一時テーブルから入力データを選択することでこれを行えます。例:
DELETE FROM Orders WHERE EXISTS SELECT Id FROM Orders#TEMP
この例では、Orders#TEMP テーブルの全内容が Orders テーブルに渡されます。1 回のリクエストで複数の削除を送信でき、データソースへのリクエスト数を減らすことができます。これらの統合されたリクエストにより、多くのレコードを一度に削除する際のパフォーマンスが向上します。

結果

クエリの結果は LastResultInfo#TEMP 一時テーブルに保存されます。このテーブルは、次に一時テーブルを渡してデータが変更されるたびにクリアされ、再作成されます。LastResultInfo#TEMP テーブルには事前定義されたスキーマがないことにご注意ください。データを読み取る前に、実行時にメタデータを確認する必要があります。

一時テーブルの有効期間

一時テーブルは接続が開いている間のみ有効です。接続が閉じられると、LastResultInfo#TEMP テーブルを含むすべての一時テーブルがクリアされます。