例: DEFAUL関数とともにINSERT ... SELECTの使用 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

例えば、この例に以下のテーブル定義があると仮定します。

     CREATE TABLE tbl_source (
       col1 INTEGER,
       col2 INTEGER DEFAULT 10,
       col3 INTEGER DEFAULT 20,
       col4 CHARACTER(60));

     CREATE TABLE tbl_destination (
       col1 INTEGER,
       col2 INTEGER DEFAULT 10,
       col3 INTEGER DEFAULT 20,
       col4 CHARACTER(60));

次の例では、INSERT ... SELECTリクエスト内で正しくDEFAUL関数が使用されています。

     INSERT INTO tbl_destination (col1)
     SELECT COALESCE(col3, DEFAULT(col3)) END
     FROM tbl_source
     WHERE col3 <> DEFAULT;

この例では、DEFAULT関数は定数値と評価されます。これは、tbl_sourcetbl_sourceのデフォルト値になります。