例: PTIと非PTIテーブルを使用してINSERT-SELECT - Teradata Database - Teradata Vantage NewSQL Engine - 時系列テーブルのINSERT-SELECT SQL文

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/sfz1493079039055.ditamap
dita:ditavalPath
ja-JP/sfz1493079039055.ditaval
dita:id
B035-1208
Product Category
Software
Teradata Vantage

例: 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;