ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## INSERT SELECT

INSERT SELECTコマンドは、問合せの結果を表に挿入します。

アクセス制御

TimesTenインスタンスでアクセス制御が有効な場合、この文にはWRITE権限またはデータ・ストア・オブジェクトの所有権が必要です。

SQL構文

INSERT INTO [Owner.]TableName [(ColumnName [,...])] InsertQuery

パラメータ

INSERT SELECT文には、次のパラメータがあります。

[Owner.]TableName | データを追加する表です。
ColumnName | 値を指定する列です。表の列を列名リストで省略した場合、INSERTコマンドによって、省略された列にNULL値が割り当てられます。省略した列に表定義でNOT NULLが指定されている場合、その列にデフォルト値が定義されていなければ、INSERTコマンドは失敗します。表のすべての列の値を、CREATE TABLE文で指定された順序と同じ順序で表のすべての列に対して値を指定する場合は、列名リストを省略できます。指定する値が少なすぎる場合は、その他の列にNULL値が割り当てられます。
InsertQuery | サポートされるSELECT問合せです。「SELECT」を参照してください。

説明

- 結果セットの列の型は、ターゲット表の列の型と互換性がある必要があります。
- 値を挿入するときに、順序CURRVALまたはNEXTVALを指定できます。
- InsertQueryのFROM句では、ターゲット表は参照できません。
- InsertQueryでORDER BY句を使用できます。ターゲット表に結果セットを挿入する際に、ORDER BY句を使用してソート順序が変更されますが、順序は保証されません。
- InsertQueryにエラーがあると、INSERT操作は失敗します。
- ターゲット表に外部キー制約が指定されている場合は、制約を実行するために、ディスク・ロギングまたはディスクレス・ロギングを有効にする必要があります。

##### 例13.74

Purchasing.Parts表に新しい行を追加します。この表には、20日未満で発送される部品が記述されています。

    INSERT INTO Purchasing.Parts
    SELECT PartNumber, DeliveryDays
    FROM Purchasing.SupplyPrice
    WHERE DeliveryDays < 20;