Example: Upsert Update Using a Period Bound Function - Teradata Database - Teradata Vantage NewSQL Engine

SQL Data Manipulation Language

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
March 2019
Language
English (United States)
Last Update
2019-05-03
dita:mapPath
fbo1512081269404.ditamap
dita:ditavalPath
TD_DBS_16_20_Update1.ditaval
dita:id
B035-1146
lifecycle
previous
Product Category
Teradata Vantage™

Suppose you define the following row-partitioned table using the END Period bound function.

     CREATE SET TABLE testing.t33 (
       a INTEGER,
       b PERIOD(DATE),
       c INTEGER)
     PRIMARY INDEX (a)
     PARTITION BY CAST((END(b)) AS INTEGER);

This UPDATE upsert request inserts a new row into t33.

     UPDATE t33
      SET c = 1
         WHERE a = 20
         AND   END(b) = DATE '1901-02-25'
       ELSE INSERT INTO t33 (20, PERIOD(DATE '1901-02-24',
                             DATE '1901-02-25'), 1);