Example: Using the BEGIN Period Bound Function as a Condition When Merging Into a RPPI Table - 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™

Assume you define the following two tables.

     CREATE SET TABLE testing.t11 (
       a INTEGER,
       b DATE FORMAT 'YY/MM/DD',
       c DATE FORMAT 'YY/MM/DD')
     PRIMARY INDEX (a);

     CREATE SET TABLE testing.t12 (
       a INTEGER,
       b PERIOD(DATE),
       c INTEGER)
     PRIMARY INDEX (a)
     PARTITION BY RANGE_N((BEGIN(b) BETWEEN DATE '2009-01-01'
                                    AND     DATE '2011-12-31'
                                    EACH INTERVAL '1' MONTH);

The following MERGE request merges rows from t11 in to t12.

     MERGE INTO t12
       USING t11
       ON  t12.a = t11.a
       AND BEGIN (t12.b) = t11.b
     WHEN MATCHED THEN
       UPDATE SET c= 4
     WHEN NOT MATCHED THEN
       INSERT VALUES (t11.a, PERIOD(t11.b), 4);