>>--EXEC ADO--.-------------------.----------------->
              +-FOR :host_integer-+
 >-FETCH-------.----------.---.----------.—VALUES--->
               +---SAME---+   +-CURRENT--+
               +---LAST---+   +-DEFAULT--+
               +---PRIOR--+   +-ORIGINAL-+
               +---FIRST--+   +-PROPOSED-+
               +---NEXT---+ 
 >--.------.—-datarows_name--.---------------.------>
    +-FROM-+                 +-(column_list)-+
 >--.--------------------------------.---END-EXEC---><
    |      +--- , -----+             |
    |      V           |             |
    +-INTO :col_value_hv-------------+
			 
               	 | :host_integer | 処理されるホスト配列要素の最大数を指定するホスト変数。PIC S9(4) COMP-5 または PIC S9(9) COMP-5 として宣言する必要があります。 | 
| datarows_name | 事前に宣言済みの開いた DataRows カーソル。 | 
| column_list | データを取り込む 1 つ以上の列のリスト。列リストによって、値を取り込む順序が決定されます。列リスト内の項目はかっこで囲む必要があります。列リストを指定しない場合は、受け取るテーブルにあるすべての列 (DECLARE DATATABLE の順序で)
                                 を受け取るものと見なされます。
                                  列リストが必要なのは、DataRows カーソルにある一部の列 (すべての列ではなく) がデータを受け取る場合のみです。  |  
                              				
                           
| :col_value_hv | 列からデータを受け取る 1 つ以上のホスト変数を指定します。 | 
* Declare a cursor for a given SQL statement.
     EXEC ADO
        DECLARE drCust DATAROWS FROM Customers
     END-EXEC
     EXEC ADO OPEN drCust END-EXEC
* Fetch the current values from the cursor into the host variables
* and if everything goes ok, display the values of the host
* variables
     PERFORM UNTIL EXIT 
        EXEC ADO
           FETCH NEXT drCust (CustomerID, CompanyName) 
           INTO :Customers-CustomerID, :Customers-CompanyName
        END-EXEC
        IF SQLCODE < 0 or SQLCODE = 100
           EXIT PERFORM
        END-IF
        DISPLAY "Customer ID  = " Customers-CustomerID " Company Name = " Customers-CompanyName
     END-PERFORM
               	 
説明:
この構文は、埋め込み EXEC SQL FETCH 文と似ています。
実行後は、処理された要素の数が SQLERRD(3) に含まれます。FETCH では、これは実際に取得した行の数になります。