EXECUTE PREPARED コマンドを使って、UPDATE、INSERT、DELETE のいずれかのステートメントを実行できます。

SET PARAMETER(*LIST) コマンドを使って、バインドされた値の作業リストを事前に準備されたステートメントに引き渡します。この事前準備されたステートメント (UPDATE、INSERT または DELETE) は作業リスト内の各レコードに対して実行されます。

非常に大きな SQL ステートメントを使用する場合、SET PARAMETER(*SQL) コマンドでステートメントを準備した後、EXECUTE PREPARED(*SQLPARAMETER) コマンドを使用するという選択もあります。

事前準備された SQL ステートメントが INSERT で始まり、VALUES(*CALC) または VALUES(*ALL) で終わる場合、SQL ステートメントの特殊な解析が行われます。*CALC オプションでは、列のバインド・パラメータが計算され、ステートメントが修正されます。*ALL オプションの場合、各列のバインド・パラメータが計算され、テーブルのその他の列はデフォルト値を使用して挿入されます。

構文:

コマンド

キーワード

開発者用メモ

EXECUTE


PREPARED


ステートメント

必須。SELECT、UPDATE、INSERT または DELETE ステートメントを実行します。

*SQLPARAMETER

SET コマンドで PARAMETER(*SQL) キーワードを使って事前に準備された SQL ステートメントを実行します。

SET PARAMETER(*SQL) #WRKLST(TXT)
SET PARAMETER(*LIST) #WRKLST(column,column,column)
EXECUTE PREPARED(*SQLPARAMETER)
GET OBJECT(*PARAMETERLISTROW)
 
SET PARAMETER(*LIST) #WRKLST(NAME,ID)
EXECUTE PREPARED(UPDATE EMPLOYEE SET NAME=? WHERE ID=?)
GET OBJECT(*PARAMETERLISTROW)
 
SET PARAMETER(*LIST) #WRKLST(ID)
EXECUTE PREPARED(DELETE FROM EMPLOYEE WHERE ID=?)
GET OBJECT(*PARAMETERLISTROW)
 
SET PARAMETER(*LIST) #WRKLST(ID,NAME,AGE)
EXECUTE PREPARED("INSERT INTO EMPLOYEE(ID,NAME,AGE) VALUES(?,?,?)")
GET OBJECT(*PARAMETERLISTROW)
 
SET PARAMETER(*LIST) #WRKLST(ID,NAME,AGE)
EXECUTE PREPARED("INSERT INTO EMPLOYEE(ID,NAME,AGE) VALUES(*CALC)")
GET OBJECT(*PARAMETERLISTROW)
 
SET PARAMETER(*LIST) #WRKLST(ID,NAME,AGE)
EXECUTE PREPARED("INSERT INTO EMPLOYEE(ID,NAME,AGE) VALUES(*ALL)")
GET OBJECT(*PARAMETERLISTROW)