SQL EXECUTE

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004


SQL EXECUTE (sqlStatement{; boundObj}{; boundObj2; ...; boundObjN})

引数説明
sqlStatementテキスト実行するSQLコマンド
boundObj変数 | フィールド結果を受け取る(必要に応じて)

説明

SQLコマンドを実行するにはSQL EXECUTEコマンドを使用します。そして、結果を4Dのオブジェクト(配列、変数またはフィールド) へバインドします。

このコマンドを実行するためには、カレントプロセスで、変数の接続が指定されていなければなりません。

sqlStatement引数には、実行するSQLコマンドが含まれています。boundObjはその結果を受け取ります。変数はカラムの配列の順番でバインドされ、残っているリモートカラムは放棄されます。

boundObjで、4Dのフィールドが引数として通された場合、コマンドはレコードを作成し自動的に保存します。4Dのフィールドは、同じテーブル(テーブル 1からのフィールドとテーブル2からのフィールドは、同じ呼び出しで通すことはできません) に属していなければなりません。1つ以上のテーブルからフィールドが送られた場合、エラーが発生します。

boundObj引数で4Dの配列を送る場合、コマンドを呼び出す前に、その配列を明確にすることをお勧めします。これはデータのタイプが処理されているか確認するためです。

4Dの変数は、1つのレコードは1回で取って来ます。他の結果は無視されます。

Note: SQLクエリで4Dの表示を参照するについての詳細は、SQL Commandsセクションを参照して下さい。

例題

1. 以下の例で、データソースにあるempテーブルのenameカラムを取得します。その結果は、4Dのフィールドの[Employee]Nameに保存されます。4Dのレコードは自動的に作成されます。

   SQLStmt:="SELECT ename FROM emp"
   SQL EXECUTE(SQLStmt;[Employee]Name)
   SQL LOAD RECORD(SQL All Records)

2. レコードの作成を確認するには、トランザクションにコードを投入します。そしてオペレーションが十分であると判明した場合のみ、それを認証します。

   SQL LOGIN("mysql";"root";"")
   SQLStmt:="SELECT alpha_field FROM app_testTable"
   START TRANSACTION
   SQL EXECUTE(SQLStmt;[Table2]Field1)
   While(Not(SQL End Selection))
      SQL LOAD RECORD
      ...   `ここにデータを検証するコードを設定します。
   End while
   VALIDATE TRANSACTION   `トランザクションの検証

3. 以下の例では、データソースにあるempテーブルのenameカラムを取得します。その結果は、aName 配列に保存されます。1度に10個のレコードを取って来ます。

   ARRAYS STRINGS(30;aName;20)
   SQLStmt:="SELECT ename FROM emp"
   SQL EXECUTE(SQLStmt;aName)
   While(Not(SQL End Selection))
      SQL LOAD RECORD(10)
   End while

4. 以下の例では、データソースの特定のID(WHERE節) のためのempテーブルのenameとジョブを取得します。その結果は、4Dの変数、vNamevJobに保存されます。最初のレコードだけを取って来ます。

   SQLStmt:="SELECT ename, job FROM emp WHERE id = 3"
   SQL EXECUTE(SQLStmt;vName;vJob)
   SQL LOAD RECORD

5. 以下の例では、データソースにあるTestテーブルのBlob_Fieldカラムを取得します。その結果は、BLOB変数に保存されます。そして、レコードがロードされる度に、そのBLOB変数の値を更新します。

   C_BLOB(MyBlob)
   SQL LOGIN
   SQL EXECUTE("SELECT Champ_Blob FROM Test";MonBlob)
   While(Not(SQL End selection))
         `結果を調査します。
      SQL LOAD RECORD
         `呼び出す度にMyBlobの値を更新します。
   End while

参照

SQL LOAD RECORD.

システム変数またはセット

コマンドが正確に実行された場合、システム変数OKは1を返します。それ以外の場合は、0を返します。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次