Example: MERGE With Subquery - Advanced SQL Engine - Teradata Database

SQL Data Manipulation Language

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
Published
September 2020
Language
English (United States)
Last Update
2021-01-23
dita:mapPath
qtb1554762060450.ditamap
dita:ditavalPath
lze1555437562152.ditaval
dita:id
B035-1146
lifecycle
previous
Product Category
Teradata Vantage™

This example generalizes Example: Using MERGE to Update and Insert by using a subquery for source_table_reference rather than an explicit value list.

     USING (empno  INTEGER,
            salary INTEGER)
     MERGE INTO employee AS t
     USING (SELECT :empno, :salary, name
            FROM names
            WHERE empno=:empno) AS s(empno, salary, name)
       ON t.empno=s.empno
     WHEN MATCHED THEN UPDATE
      SET salary=s.salary, name = s.name
     WHEN NOT MATCHED THEN INSERT (empno, name, salary)
      VALUES (s.empno, s.name, s.salary);