動的 SQL 文を処理します。
 
            	 
            
               構文:
 
               		 
               		>>-EXEC SQL-----.-------------------.------EXECUTE------>
                +--FOR :host_integer---+
 >-prepared_stmt_name-.--------------------------------.->
                      +-USING DESCRIPTOR :sqlda_struct-+
                      |       +- , -+                  |
                      |       V     |                  |
                      +-USING :hvar--------------------+ 
    
 >-----END-EXEC-----<>
  
               	   
            	 
            
               パラメーター:
 
               		 
               		
                
                  		
                  
                      
                        			  
                        			  
                        			 
                         
                           				
                            
                              				  
                              | :host_integer |  
                              				  
                              処理されるホスト配列要素の最大数を指定するホスト変数。PIC S9(4) COMP-5 または PIC S9(9) COMP-5 として宣言する必要があります。 |  
                              				
                           
 
                           				
                            
                              				  
                              | prepared_stmt_name |  
                              				  
                              事前に準備済みの SQL 文。 |  
                              				
                           
 
                           				
                            
                              				  
                              | :sqlda_struct |  
                              				  
                              入力値の記述を含む、事前に宣言済みの SQLDA データ構造体。コロンを使用すると、他の埋め込み SQL 実装との互換性を確保できます。 |  
                              				
                           
 
                           				
                            
                              				  
                              | :hvar |  
                              				  
                              1 つ以上の入力ホスト変数。 |  
                              				
                           
 
                           			 
                         
                        		  
                     
                    
                  		
                 
               	 
              
            	 
             
            	 
            
               例:
 
               		 
               		* Store statement to be dynamically executed...
     MOVE "INSERT INTO staff VALUES(?,?,?,?,?)" TO stmtbuf.
* Ensure attempt is not made to insert an existing record
     EXEC SQL
        DELETE FROM staff WHERE staff_id = 99
     END-EXEC
* Prepare the statement
     EXEC SQL
        PREPARE st FROM :stmtbuf
     END-EXEC.
     MOVE 99 TO staff-id
     MOVE 'Lee' TO last-name
     MOVE 'Phil' TO first-name
     MOVE 19 TO age
     MOVE '1997-01-01' TO employment-date
* Execute the statement with current values.
     EXEC SQL
        EXECUTE st USING :staff-id, :last-name
                        ,:first-name, :age, :employment-date
     END-EXEC
     IF SQLCODE = ZERO
        DISPLAY 'Statement executed.'
     ELSE
        DISPLAY 'Error: Could not execute statement.'
        DISPLAY SQLERRMC
        DISPLAY SQLERRML
        EXEC SQL DISCONNECT ALL END-EXEC
        STOP RUN
     END-IF
* Finally, remove the entry
     EXEC SQL
        DELETE FROM staff where staff_id = 99
     END-EXEC
     IF SQLCODE = ZERO
        DISPLAY 'Values deleted.'
     ELSE
        DISPLAY 'Error: Could not delete inserted values.'
        DISPLAY SQLERRMC
        DISPLAY SQLERRML
        EXEC SQL DISCONNECT ALL END-EXEC
        STOP RUN
     END-IF 
               	   
            
           
         
         
説明:
EXECUTE が DECLARE CURSOR 文の一部である場合は、FOR 句を使用しないでください。
EXECUTE 文は、パラメーター マーカーがある場合にはそれを値に置き換えてから、指定した準備済み SQL 文を実行します。準備済み文は、PREPARE 文を使って作成します。使用できるのは、結果を返さない文のみです。
準備された文にパラメーター マーカーが入っている場合は、EXECUTE 文には、ホスト変数と同数の USING :hvar オプション、またはアプリケーションによってすでに書き込まれた SQLDA データ構造を示す USING DESCRIPTOR :sqlda_struct オプションを含める必要があります。
準備済みの文のパラメーター マーカーの数は、sqldata エントリ (USING DESCRIPTOR :sqlda) またはホスト変数 (USING :hvar) の数と一致させる必要があります。