{ 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句で使用するときは、その直前にコロン記号が常に必要となります。