17.10 - UPDATE構文(基本形式、FROM句なし) - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)
{ UPDATE | UPD }
  [ with_isolated_loading ]
  table_name
  [ [AS] correlation_name ]
  SET set_spec [,...]
  [ WHERE condition | ALL ] [;]

構文要素

with_isolated_loading
WITH [NO] [CONCURRENT] ISOLATED LOADING
table_name
更新される基本テーブル、キュー テーブル、または派生テーブルの名前、またはテーブルにアクセスするためのビューの名前。
correlation_name
table_nameの別名を指定します。
set_spec
column_name [.mutator_method_name] = expression
データが更新される列の名前と、更新に使用される式。
UDT列を更新する場合、ミュテーターSET句構文を使用する必要があります。ミュテーターSET句を使用したSTRUCTURED型UDTの更新を参照してください。
WHERE
この後に条件句が続くことを指定します。詳細については、WHERE句を参照してください。
search_conditionが式で呼び出されて値式を返す場合は、スカラーUDFのみを指定できます。
WHERE句を指定するには、検索対象のオブジェクトにSELECTアクセスできなければなりません。
condition
どの行の値を更新するかを決める条件式。条件は複数のテーブルを参照したり、スカラーsubqueryを指定することができます。スカラー サブクエリーUPDATEリクエストでスカラー サブクエリーを使用するためのルールを参照してください。
ALL
指定されたテーブルのすべての行が更新されることを示します。
ALLオプションは、ANSI SQLに対するTeradataの拡張機能です。
WITH [NO] ISOLATED LOADING
NOを含めないと、UPDATEを同時ロード分離操作として実行できます。
NOを含めると、UPDATEは同時ロード分離操作として実行されません。
CONCURRENT
読みやすくするために含めることができるオプションのキーワード。
column_name
指定されたexpressionの値が設定される列の名前を指定します。
column_nameフィールドは、列名にのみ使用されます。
databasename.tablename.columnnameまたはtablename.columnnameのような完全修飾列名形式を使用しないでください。
派生PERIOD列名を指定することはできません。
mutator_method_name
column_nameに対して更新操作を実行するミュテーター メソッドの名前。
ミュテーター メソッド名は、変更する属性名と同じ名前です。ミュテーターSET句内では、属性名に続く括弧は無効です。
STRUCTURED型UDT列を更新するには、ミュテーターSET句構文を使用する必要があります。ミュテーターSET句を使用したSTRUCTURED型UDTの更新を参照してください。
expression
column_nameの値を生成する式を指定します。
expressionには定数、null(予約語NULLとして指定される)、DEFAULT関数、または新しい値を計算する算術式を組み込むことができます。更新対象の行の更新前の値を、式で参照することができます。
expressionが値式を返す場合は、スカラーUDFを指定できます。
結合更新の場合、結合に関係する行からexpressionの列を参照することができます。
ホスト変数をSET句で使用するときは、その直前にコロン記号が常に必要となります。