Loading
select (テーブルレコードの取得)
形式
select($constr, $wherefilter, $tablename, $selectlist, @result)
引数
- $constr: ODBC接続文字列
- $wherefilter: 条件カラム・値マップ
- $tablename: テーブル名
- $selectlist:セレクトカラムリスト(省略可)
- @result: レコードの内容
完了時の動作
- レコードが存在する時:次の述語を実行に移ります。
- レコードが存在しない時:バックトラックします。
バックトラック時の動作
- 次のレコードが存在する時:次の述語を実行に移ります。
- 次のレコードが存在しない時:バックトラックします。
- ※レコードの数(-1)だけバックトラックします。
説明
ODBC接続文字列については、
DBライブラリを参照下さい。
指定された条件($wherefilter)で、指定されたテーブル($tablename)のレコードを取得します。
$wherefilterは、以下のように、連想配列でキー部分にカラム名、値部分にそのカラムの値を指定します。
キー値のペアは複数指定できます。複数指定するとANDで結ばれます。
{ 'colname1' => value1, 'colname2' => value2 ... }
以下のようなSQLに変換されます。
SELECT * FROM tablename WHERE colname1 = value1 AND colname2 = value2 ...
SELECT リストを指定する場合は、$selectlistを指定します。
{ 'scol1', 'scol2', ... }
上記のように指定しますと、以下のようにSQLが作成されます。
SELECT scol1, scol2 FROM tablename WHERE colname1 = value1 AND colname2 = value2 ...
上記以外の条件式(数値で代償比較演算子を使用したい。OR条件を付与したい等)を指定したい場合は、SQL述語を使用します。
レコードの内容は、$resultにSELECTリスト名をキーとして連想配列として格納されます。
他のDBライブラリの述語やクエリー変数を返す述語等、連想配列を返す述語の結果を用いて、本述語を呼び出すことが考えられます。
その場合、ある連想配列から特定のキーを持った連想配列を新しく作成したい場合があります。この場合、
lsmap述語を使用します。
そのほか、キーの値を変更しながら新しい連想配列を作成したい場合は、
remap述語を使用します。
searchの戻り値等、通常の配列から連想配列を作成する場合は、
mkmap述語を使用します。
DBライブラリのサンプル
Powered by ADP.