UPDATE (検索)

指定した検索条件に基づいてテーブルまたはビューを更新します。

構文:

>>--EXEC SQL--.-------------------.---------------------->
              +-FOR :host_integer-+ 

 >-----.-------------.------UPDATE------.-table_name-.---->
       +-AT db_name--+                  +-view_name--+

          +------ ,-------+
          V               |
 >---SET--column_expression--.-------------------------.-->
                             +-WHERE search_conditions-+

 >----END-EXEC---><

パラメーター:

:host_integer 処理されるホスト配列要素の最大数を指定するホスト変数。PIC S9(4) COMP-5 または PIC S9(9) COMP-5 として宣言する必要があります。
AT db_name DECLARE DATABASE を使用して宣言されたデータベースの名前。この句は省略可能です。省略すると、現在の接続で更新を実行します。この句を指定して、指定された接続が現在の接続と異なる場合は、DECLARE CURSOR 文に関連付けられた接続で更新が実行されます。
table_name 更新するテーブル。
view_name 更新するビュー。
column_expression 特定の列名の値。この値には式または NULL 値が使用できます。
search_conditions 標準の SQL WHERE 句の後に続けられる任意の有効な式。

説明:

UPDATE は、ODBC ドライバーに直接渡される標準 SQL 文です。構文の詳細については、使用している ODBC ドライバーに付属のドキュメントを参照してください。

WHERE 句を指定しない場合は、指定したテーブル内のすべての行が更新されます。

WHERE 句または SET 句で使用するホスト変数のいずれかが配列である場合は、ホスト変数をすべて配列にする必要があります。

実行後は、処理された要素の数が SQLERRD(3) に含まれます。UPDATE の場合、これは更新された行の合計数です。

例:

     EXEC SQL
        UPDATE staff
        SET first_name = 'Jonathan'
        WHERE staff_id = 1
     END-EXEC

     MOVE 'Phil' TO NewName
     MOVE 1 TO targetID

     EXEC SQL
        UPDATE staff
        SET first_name = :NewName
        WHERE staff_id  = :targetID
     END-EXEC