4D v16.3

SQL SET PARAMETER

ホーム

 
4D v16.3
SQL
SQL SET PARAMETER

SQL SET PARAMETER 


 

SQL SET PARAMETER ( object ; paramType ) 
引数   説明
object  4Dオブジェクト in 使用する4Dオブジェクト (変数、配列、フィールド)
paramType  倍長整数 in 引数タイプ

説明   

SQL SET PARAMETERコマンドを使用すると、4D変数や配列、フィールドをSQLリクエストで使用することができます。

Note: リクエストテキスト内で、<< と >>記号の間に4Dオブジェクト(変数、配列、フィールド)を直接挿入できます(例1を参照)。詳細についてはSQLコマンドの概要を参照してください。

- object引数には、リクエストで使用する4Dのオブジェクト(変数、配列またはフィールド)を指定します。
- paramType引数には、パラメタのSQL型を渡します。値を渡すかSQLテーマにある次の定数のいずれかを使用することができます:

定数 コメント
SQL param in 倍長整数 1
SQL param in out 倍長整数 2 SQLストアードプロシージャーのコンテキストでのみ利用可能です (ストアードプロシージャー内で定義されるin-outパラメーター)
SQL param out 倍長整数 4 SQLストアードプロシージャーのコンテキストでのみ利用可能です (ストアードプロシージャー内で定義されるoutパラメーター)

SQLリクエスト内におかれた?記号が4Dオブジェクトの値で置き換えられます(標準のシンタックス)。
リクエストに複数の?記号が含まれる場合、SQL SET PARAMETERコマンドを複数回呼び出す必要があります。4Dオブジェクトの値は、コマンドの実行順に合わせてリクエスト内で順次割り当てられます。

警告: このコマンドはSQLリクエストに渡されるパラメーターを扱うために使用します。4DオブジェクトをSQLリクエストの結果に関連付けるためにSQL param outを使用することはできません。SQLリクエストの結果は例えばSQL EXECUTEコマンドの boundObj パラメーターを使用して取り出されます (SQLコマンドの概要参照)。SQL SET PARAMETERコマンドは主にリクエストに渡されるパラメーター (SQL param in) を設定することを意図しています。SQL param outSQL param in out はパラメーターを返すかもしれないSQLストアードプロシージャーのコンテキストで使用されるために予約されています。

この例は、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

このコマンドはOKシステム変数を更新します

 
履歴 

初出: 4D 2004

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)