標準の 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 ADO
UPDATE Customers
SET
ContactName = 'Alan Jones',
ContactTitle = 'Managing Director',
City = 'Norwich'
WHERE CustomerID = 'ZZZZ2'
END-EXEC
説明:
この文は、埋め込み EXEC SQL UPDATE (検索) 文と似ています。
実行後に、SQLERRD(3) には処理された要素の数が含まれます。UPDATE の場合、これは更新された行の合計数です。