UPDATE¶
Name
UPDATE -- はテーブルの行を更新します
Synopsis
UPDATE [ <optimizer_hint> ] <table>[@<dblink> ]
SET <column> = { <expression> | DEFAULT } [, ...]
[ WHERE <condition> ]
[ RETURNING <return_expression> [, ...]
{ INTO { <record> | <variable> [, ...] }
| BULK COLLECT INTO <collection> [, ...] } ]
Description
UPDATE は、条件を満たすすべての行の指定された列の値を変更します。変更する列のみをSET句で指定する必要があります。明示的に変更されていない列は、以前の値を保持します。
RETURNING INTO { record | variable [, ...] } 句は、SPLプログラム内でのみ指定できます。さらに、 UPDATE コマンドの結果セットは複数の行を返してはなりません。そうしないと、例外がスローされます。結果セットが空の場合、ターゲットレコードまたは変数の内容はnullに設定されます。
RETURNING BULK COLLECT INTO collection [, ...] 節は、 UPDATE コマンドがSPLプログラム内で使用される場合にのみ指定できます。 BULK COLLECT INTO 節のターゲットとして複数の「10」が指定されている場合、各「10」は単一のスカラーフィールドで構成されている必要があります。つまり、「10」はレコードであってはなりません。 UPDATE コマンドの結果セットには、0行、1行、または複数行が含まれる場合があります。結果セットの各行で評価された return_expression は、最初の要素から始まる「10」の要素になります。「10」の既存の行はすべて削除されます。結果セットが空の場合、「10」は空になります。
テーブルを更新するには、そのテーブルに対する UPDATE 特権と、 expression または condition で値が読み取られるテーブルに対する SELECT 特権が必要です。
Parameters
optimizer_hint
実行計画を選択するためのオプティマイザーへのコメントが埋め込まれたヒント。
table
更新するテーブルの名前(オプションでスキーマ修飾)。
dblink
リモートデータベースを識別するデータベースリンク名。データベースリンクの詳細については、
CREATE DATABASE LINKコマンドを参照してください。
column
テーブル内の列の名前。
expression
列に割り当てる式。式では、この列とテーブル内の他の列の古い値を使用できます。
DEFAULT
列をデフォルト値に設定します(特定のデフォルト式が割り当てられていない場合、nullになります)。
condition
タイプ
BOOLEANの値を返す式。この式がtrueを返す行のみが更新されます。
return_expression
テーブルの1つ以上の列を含む可能性のある式。テーブルの列名が
return_expressionに指定されている場合、return_expressionの評価時に列に代入される値は次のように決定されます。
return_expressionで指定された列にUPDATEコマンドで値が割り当てられている場合、割り当てられた値はreturn_expressionの評価に使用されます。
return_expressionで指定された列にUPDATEコマンドで値が割り当てられていない場合、影響を受ける行の列の現在の値がreturn_expressionの評価に使用されます。
record
評価された
return_expressionが割り当てられるフィールドを持つレコード。最初のreturn_expressionはrecordの最初のフィールドに割り当てられ、2番目のreturn_expressionはrecordの2番目のフィールドに割り当てられます。recordのフィールドの数は式の数と正確に一致する必要がありますフィールドは、割り当てられた式と型互換性がなければなりません。
variable
評価された
return_expressionが割り当てられる変数。複数のreturn_expressionとvariableが指定されている場合、最初のreturn_expressionが最初のvariableに割り当てられ、2番目のreturn_expressionが2番目のvariableに割り当てられます。INTOキーワードはRETURNINGキーワードに続く式の数と正確に一致する必要があり、変数は割り当てられた式と型互換性がなければなりません。
collection
評価された
return_expressionから要素が作成されるコレクション。単一フィールドのコレクションまたはレコードタイプのコレクションである単一コレクション、または複数のコレクションがあり、各コレクションが単一フィールドで構成されている必要があります。戻り式の数は数が一致し、指定されたすべてのコレクション内のフィールドの数を並べる必要があります。対応する各return_expressionおよびcollectionフィールドは、タイプ互換である必要があります。
Examples
dept テーブルの部門 20 の場所を AUSTIN に変更します。
UPDATE dept SET loc = 'AUSTIN' WHERE deptno = 20;
emp テーブルに job = SALESMAN があるすべての従業員について、 10% で給与を更新し、 500 で手数料を増やします。
UPDATE emp SET sal = sal * 1.1, comm = comm + 500 WHERE job = 'SALESMAN';