例: SET句のスカラー相関サブクエリーを使ったUPDATE - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/vjt1596846980081.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.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);