SQL プロシジャ

UPDATE ステートメント

テーブルまたはビューの、既存の行の列の値を変更します。

制限事項:UPDATEは、UPDATE処理をサポートしないエンジンによってアクセスされたテーブルには使用できません。
参照項目:PROC SQLテーブルのデータの更新

構文

必須引数

table-name

PROC SQLテーブルを指定します。table-nameとしては、1レベルの名前、2レベルのlibref.tableの名前または単一引用符で囲まれた物理パス名が可能です。

sas/access-view

SAS/ACCESSビューを指定します。

proc-sql-view

PROC SQLビューを指定します。proc-sql-viewとしては、1レベルの名前、2レベルのlibref.viewの名前または単一引用符で囲まれた物理パス名が可能です。

alias

table-name、sas/access-viewまたはproc-sql-viewに別名を割り当てます。

column

table-name、sas/access-viewまたはproc-sql-viewの列を指定します。

sql-expression

一連のオペランドと演算子から値を生成します。

sql-expression 構成要素を参照してください。

制限事項SET句の式では、論理演算子(AND、ORまたはNOT)は使用できません。

詳細

ビューを使用して、テーブルの1つ以上の行を更新できますが、いくつかの制限があります。詳細については、PROC SQLビューとSAS/ACCESSビューの更新を参照してください。

  • 変更対象外の列の値は、CASE式を使用する一部のクエリの場合を除いて、変更されません。CASE式の説明については、CASE 式を参照してください。
  • 列の定義または属性を追加、削除または変更するには、ALTER TABLE ステートメントで説明されているALTER TABLEステートメントを使用します。
  • SET句では、等号の左側の列参照を、等号の右側の式の一部に含めることができます。たとえば、次の式を使用して、従業員に1,000ドルの休日手当を支給できます。
       set salary=salary + 1000
  • WHERE句を省略すると、すべての行が更新されます。WHERE句を使用すると、その条件を満たす行のみが更新されます。
  • インデックスに使用されている列を更新すると、新しい値にはその列に定義されたインデックスが継承されます。
最終更新: 2026年4月14日