例: SET句のスカラー相関サブクエリーを使ったUPDATE - 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

スカラー相関サブクエリーをSET句に指定すると、UPDATEリクエストにFROM句がなかったとしても、データベースはスカラー相関サブクエリーが原因となり、更新を結合された更新として扱います。

次に示す例では、salestableに結合するsales_sum_tableが必要になります。更新は、スプールを介したマージ更新操作を使用して行なわれます。

     UPDATE sales_sum_table AS sst
     SET  total_sales = (SELECT SUM(amount) 
                         FROM sales_table AS s
                         WHERE s.day_of_sale BETWEEN sst.period_start 
                                             AND     sst.period_end);