UPDATE (検索)

標準の SQL WHERE 句を使用するか、ホスト変数配列を介して置換することで、DataTable を更新します。

構文、書き方 1:

>>--EXEC ADO--.-------------------.---UPDATE—datatable_name--------->
              +-USING dataset_name+           

         +-----------  ,  -----------+
         V                           |
>--SET---column_name = -+- :hvar-----+------------------------------>
                       -+- col_value-+


>-.------------------------------------.—.-------------------------.>
  +-FOR-.-ADDED-------------.-DATAROWS-+ +-WHERE search_conditions-+
        +-CURRENT-----------+
        +-DELETED-----------+
        +-MODIFIED CURRENT--+
        +-MODIFIED ORIGINAL-+
        +-ORIGINAL----------+
        +-UNCHANGED---------+           


>--END-EXEC-><

構文、書き方 2:

>>--EXEC ADO--.-------------------.---FOR :host_integer UPDATE—------->
              +-USING dataset_name+
          

                          +-----------  ,  -----------+
                          V                           |
>-- datatable_name  SET---column_name = -+- :hvar-----+----END-EXEC-><

パラメーター:

dataset_name 使用する DataSet 参照。dataset_name を指定しない場合は、現在の DataSet が使用されます。
datatable_name 更新する DataTable の名前。
column_name DataTable 内の列の名前。
:hvar 列値を含むホスト変数。
col_value 列値。
FOR DATAROWS 更新する DataRow の行状態。
search_condition 標準の SQL WHERE 句の後に続く任意の有効な式。
:host_integer 処理されるホスト配列要素の最大数を指定するホスト変数。PIC S9(4) COMP-5 または PIC S9(9) COMP-5 として宣言する必要があります。

説明:

この文は、埋め込み EXEC SQL UPDATE (検索) 文と似ています。

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

例:

     EXEC ADO
        UPDATE Customers
        SET 
        ContactName = 'Alan Jones',
        ContactTitle = 'Managing Director',
        City = 'Norwich'
        WHERE CustomerID = 'ZZZZ2'
     END-EXEC