未処理の行を破棄し、カーソルにより保持されているロックを解除します。
               
            
 
            	 
            
               構文:
 
               		 
               		>>---EXEC SQL---.------------.--->
                +-AT db_name-+
 >--CLOSE---cursor_name---.------------.---END-EXEC---><
                                      +WITH RETURN-+ 
               	   
            	 
            
               パラメーター:
 
               		 
               		
                
                  		
                  
                      
                        			  
                        			  
                        			 
                         
                           				
                           
                              				  
                              | AT db_name | 
                              				  
                              DECLARE DATABASE を使用して宣言されたデータベースの名前。この句は必須ではありません。省略すると、DECLARE CURSOR 文に関連付けられている接続に自動的に切り替わります (その接続が現在の接続とは異なる場合。DECLARE
                                    CURSOR 文の実行中のみ有効)。 下位互換性のために提供されています。
                               | 
                              				
                           
                           				
                            
                              				  
                              | cursor_name |  
                              				  
                              すでに宣言済みの、開いたカーソル。 |  
                              				
                           
 
                           			 
                         
                        		  
                     
                    
                  		
                 
               	 
              
            	 
             
            	 
            
               例:
 
               		 
               		*Declare the cursor...
     EXEC SQL
         DECLARE C1 CURSOR FOR
            SELECT staff_id, last_name
            FROM staff
     END-EXEC
     IF SQLCODE NOT = ZERO
        DISPLAY 'Error: Could not declare cursor.'
        DISPLAY SQLERRMC
        DISPLAY SQLERRML
        EXEC SQL DISCONNECT ALL END-EXEC
        STOP RUN
     END-IF
     
     EXEC SQL
        OPEN C1
     END-EXEC
     IF SQLCODE NOT = ZERO
        DISPLAY 'Error: Could not open cursor.'
        DISPLAY SQLERRMC    
        DISPLAY SQLERRML
        EXEC SQL DISCONNECT CURRENT END-EXEC
        STOP RUN
     END-IF
     PERFORM UNTIL sqlcode NOT = ZERO
*SQLCODE will be zero as long as it has successfully fetched data
        EXEC SQL
           FETCH C1 INTO :staff-staff-id, :staff-last-name
        END-EXEC
        IF SQLCODE = ZERO
           DISPLAY "Staff ID: " staff-staff-id
           DISPLAY "Staff member's last name: " staff-last-name
        END-IF
     END-PERFORM
     EXEC SQL
        CLOSE C1
     END-EXEC
     IF SQLCODE NOT = ZERO
        DISPLAY 'Error: Could not close cursor.'
        DISPLAY SQLERRMC
        DISPLAY SQLERRML
     END-IF 
               	   
            
           
         
         
説明:
カーソルは、閉じる前に宣言して開いておく必要があります。開いたすべてのカーソルは、プログラム終了時に自動的に閉じます。
DIALECT=MAINFRAME を使用してコンパイルされていない SQL CLR ストアド プロシージャでは、WITH RETURN を指定できます。その場合、クライアント アプリケーションは、GET NEXT RESULT SET 文を使用して結果セットを取得する必要があります。