例: INSERTおよびGENERATED ALWAYS識別列 - Teradata Database - Teradata Vantage NewSQL Engine - 例: INSERTおよびGENERATED ALWAYS識別列

Teradata Vantage™ SQLデータ操作言語

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

新しく作成されたcolumn_1table_1が、GENERATED ALWAYSと定義された識別列であると想定します。次のINSERT文は、挿入される行が列の値を指定している場合であっても、挿入される行のcolumn_1の番号を自動的に生成します。

     INSERT INTO table_1 (column_1, column_2, column_3)
     VALUES (111,111,111);
     INSERT INTO table_1 (column_1, column_2, column_2)
     VALUES (,222,222);

table_1のすべての行を選択して、挿入を検査します。

     SELECT *
     FROM table_1;
     *** Query completed. 2 rows found. 3 columns returned.
     *** Total elapsed time was 1 second.
      column_1  column_2  column_3
     --------- --------- ---------
             2       111       111
             1       222       222
この結果について、以下の点に注意する必要があります。
  • column_1はGENERATED ALWAYSと定義されているため、最初の挿入でcolumn_1に値111が指定されましたが、値は拒否され、生成値2で置き換えられました。
  • ユーザー指定値がシステム生成番号によって上書きされると、要求元に警告が返されます。
  • 並列性があるため、識別列シーケンスの最初の番号を、挿入される最初の行に割り振る必要はありません。