UPDATE - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

目的

テーブルの既存の行にある列値を変更します。

UPDATE文には、以下の形式が可能です。
  • 基本 - テーブルの行を1つ以上更新します。

    基本形式は、FROM句を付けても付けなくても指定できます。

  • 結合テーブルの基本

    結合条件形式では、WHERE条件がテーブル(行を更新するテーブル以外)の行を直接参照するとき、つまりWHERE条件に派生テーブルのsubqueryまたは参照が組み込まれている場合に、テーブルの行を更新します。

  • 定位置 - <Teradata Vantage™ SQLストアド プロシージャおよび埋め込みSQL、B035-1148>の「UPDATE(定位置形式)」を参照してください。
  • テンポラル - <Teradata Vantage™ ANSIテンポラル テーブル サポート、B035-1186>および<Teradata Vantage™ テンポラル テーブル サポート、B035-1182>を参照してください。
  • アップサート - UPDATE (Upsert形式)を参照してください。
以下も参照してください。
  • INSERT/INSERT … SELECT
  • MERGE
  • <Teradata Vantage™ SQLストアド プロシージャおよび埋め込みSQL、B035-1148>の「UPDATE(定位置形式)」を参照
  • UPDATE (Upsert形式)
  • Teradata Vantage™ ANSIテンポラル テーブル サポート、B035-1186
  • Teradata Vantage™ テンポラル テーブル サポート、B035-1182

必要な権限

次の権限のルールが、UPDATE文に適用されます。
  • 更新するテーブルまたは列に対するUPDATE権限が必要です。
  • UDT列を更新するには、その列に対するUDTUSAGE権限も持っている必要があります。
  • UPDATEを実行する場合に、オブジェクトへのREADアクセスも必要であれば、アクセスするオブジェクトに対するSELECT権限を持っていなければなりません。

例えば、以下のリクエストでは、WHERE条件のためにREADアクセスが必要です。

     UPDATE table_1
     SET column_1 = 1
     WHERE column_1 < 0;

同様に、以下のリクエストでは、column_1の新しい値を計算するためにtable_1の値をcolumn_1から読み取る必要があるため、READアクセスが必要です。

     UPDATE table_1
     SET field_1 = column_1 + 1;

次のリクエストはSELECT権限を必要としません。

     UPDATE table_1
     SET column_3 = 0 ALL;

構文 - 基本形式、FROM句なし





構文 - 基本形式、FROM句あり





構文 - 結合テーブル形式