Loading
update (テーブルレコードの更新)
形式
update($constr, $updatemap, $tablename, $filterlist)
引数
- $constr:ODBC接続文字列
- $updatemap:変更・絞込みカラム・値マップ
- $tablename:テーブル名
- $filterlist:フィルターカラムリスト(省略可)
完了時の動作
- 常に次の述語を実行に移ります。バックトラックしません。
バックトラック時の動作
- 常にバックトラックします。前の述語にバックトラックします。
説明
ODBC接続文字列については、
DBライブラリを参照下さい。
指定された値($updatemap)で、指定されたテーブル($tablename)にレコードデータを変更します。
$updatemapは、以下のように、連想配列でキー部分にカラム名、値部分にそのカラムの値を指定します。
{ 'colname1' => value1, 'colname2' => value2, 'wcol1' => value1, 'wcol2' => value2 ... }
$filterlistは、$updatemapのうちwhere句に入れるキー・値ペアのキーを指定します。
{ 'wcol1', 'wcol2', ... }
以下のようなSQLに変換されます。
UPDATE tablename SET colname1 = value1, colname2 = value2,...
WHERE wcol1 = value1 AND wcol2 = value2 ...
上記以外の条件式(数値で代償比較演算子を使用したい。OR条件を付与したい等)を指定したい場合は、SQL述語を使用します。
$filterlistは省略できます。省略した場合は、{ 'ID' } が指定されたとみなされます。また$filterlistを {} と指定しますと、省略と異なり、$updatemapの全ての要素がフィルター(WHERE句に置く)とみなされます。{} はupdateでは通常使用しません。
他のDBライブラリの述語やクエリー変数を返す述語等、連想配列を返す述語の結果を用いて、本述語を呼び出すことが考えられます。
その場合、ある連想配列から特定のキーを持った連想配列を新しく作成したい場合があります。この場合、
lsmap述語を使用します。
そのほか、キーの値を変更しながら新しい連想配列を作成したい場合は、
remap述語を使用します。
searchの戻り値等、通常の配列から連想配列を作成する場合は、
mkmap述語を使用します。
DBライブラリのサンプル
Powered by ADP.