16.20 - 例: PTIと非PTIテーブルを使用してINSERT-SELECT - Teradata Vantage NewSQL Engine

Teradata Vantage™ 時系列テーブルおよび操作

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1208-162K-JPN

例: INSERT-SELECT文

次の文は、非PTIテーブルnormal_tableからデータを選択し、行をPTIテーブルocean_buoy_1に挿入します。
INSERT INTO ocean_buoy_1 SELECT * FROM normal_table;
INSERT INTO ocean_buoy_1(TD_TIMECODE, buoyid, temperature) SELECT * FROM normal_table;
INSERT INTO ocean_buoy_1(TD_TIMECODE, buoyid, temperature)
       SELECT timecode, buoyid, temperature FROM normal_table;
次の文は、非PTIテーブルnormal_table2からデータを選択し、行をPTIテーブルocean_buoyに挿入します。
INSERT INTO ocean_buoy SELECT my_timecode, buoyid, temperature FROM normal_table2;
INSERT INTO ocean_buoy (TD_TIMECODE, buoyid, temperature) SELECT my_timecode, buoyid, temperature FROM normal_table2;
以下は、PTIテーブルocean_buoyからPTIテーブルocean_buoy_1へのINSERT-SELECTです。
INSERT INTO ocean_buoy_1 SELECT * FROM ocean_buoy;
以下は、指定したタイムバケット期間を持つPTIテーブルocean_buoyから、特定のタイムバケット期間を持たないPTIテーブルocean_buoy_2へのINSERT-SELECTです。
INSERT INTO ocean_buoy_2 SELECT * FROM ocean_buoy;
この文は、PTIテーブルocean_buoyから選択し、TD_TIMECODE、buoyid、temperatureデータをPTIテーブルocean_buoy_1に挿入します。
INSERT INTO ocean_buoy_1(TD_TIMECODE, buoyid, temperature) SELECT * FROM ocean_buoy;

例: 無効なINSERT-SELECT文

INSERT文でTD_TIMEBUCKET列を指定することはできません。この文は次のエラーを返します。
INSERT INTO ocean_buoy_1 (TD_TIMEBUCKET, TD_TIMECODE, buoyid, temperature) SELECT * FROM ocean_buoy;
SELECT文のサブクエリーでTD_TIMEBUCKET列を指定することはできません。この文は次のエラーを返します。
INSERT INTO ocean_buoy_1
SELECT TD_TIMEBUCKET, TD_TIMECODE, buoyid, temperature FROM ocean_buoy;
別の列の値をTD_TIMEBUCKET列に挿入することはできません。次の文では、テーブルnormal_table2のmy_timebucket列から、テーブルocean_buoyのTD_TIMEBUCKET列に値を挿入しようとすると、エラーが返されます。
INSERT INTO ocean_buoy SELECT * FROM normal_table2;