4D v12.4SQL SET PARAMETER |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SQL SET PARAMETER
|
SQL SET PARAMETER ( object ; paramType ) | ||||||||
引数 | 型 | 説明 | ||||||
object | 4Dオブジェクト |
![]() |
使用する4Dオブジェクト (変数、配列、フィールド) | |||||
paramType | 倍長整数 |
![]() |
引数タイプ | |||||
SQL SET PARAMETERコマンドを使用すると、4D変数や配列、フィールドをSQLリクエストで使用することができます。
Note: リクエストテキスト内で、<< と >>記号の間に4Dオブジェクト(変数、配列、フィールド)を直接挿入できます(例1を参照)。詳細についてはSQLコマンドの概要を参照してください。
- object引数には、リクエストで使用する4Dのオブジェクト(変数、配列またはフィールド)を指定します。
- paramType引数には、パラメタのSQL型を渡します。値を渡すかSQLテーマにある次の定数のいずれかを使用することができます:
定数 | 型 | 値 |
SQL Param In | 倍長整数 | 1 |
SQL Param In Out | 倍長整数 | 2 |
SQL Param Out | 倍長整数 | 4 |
SQLリクエスト内におかれた?記号が4Dオブジェクトの値で置き換えられます(標準のシンタックス)。
リクエストに複数の?記号が含まれる場合、SQL SET PARAMETERコマンドを複数回呼び出す必要があります。4Dオブジェクトの値は、コマンドの実行順に合わせてリクエスト内で順次割り当てられます。
この例は、SQLリクエスト内に4D変数を直接記述しています:
C_TEXT(MyText)
C_LONGINT(MyLongint)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (<<MyText>>, <<MyLongint>>)"
For(vCounter;1;10)
MyText:="Text"+String(vCounter)
MyLongint:=vCounter
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
上記と同じ例題をSQL SET PARAMETERコマンドを使用して書き直しています:
C_TEXT(MyText)
C_LONGINT(MyLongint)
SQL LOGIN("mysql";"root";"")
SQLStmt:="insert into app_testTable (alpha_field, longint_field) VALUES (?,?)"
For(vCounter;1;10)
MyText:="Text"+String(vCounter)
MyLongint:=vCounter
SQL SET PARAMETER(MyText;SQL Param In)
SQL SET PARAMETER(MyLongint;SQL Param In)
SQL EXECUTE(SQLStmt)
SQL CANCEL LOAD
End for
SQL LOGOUT
コマンドが正しく実行されるとシステム変数OKに1が、そうでなければ0が設定されます。
プロダクト: 4D
テーマ: SQL
番号:
823
初出: 4D 2004