| 4D v15 R3SQL SET PARAMETER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15 R3
 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ストアードプロシージャーのコンテキストでのみ利用可能です (ストアードプロシージャー内で定義される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 out と SQL 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
        
        
        
	
	初出: 4D 2004
	
	
	
	
	
	ランゲージリファレンス ( 4D v15 R3)
	
	ランゲージリファレンス ( 4D v15)
	
	
	
	ランゲージリファレンス ( 4D v15.4)
	
	
	
	
	ランゲージリファレンス ( 4D v15.3)
	
	
 コメントを追加
コメントを追加