sqliteでは、ストアドプロシージャがないと思います。
それで、ms-accessで、以下のようなユーザー定義関数を作り、
------------------------------------------------
Function func(a As Integer, b As String) As String
〜処理〜
calc = result
End Function
------------------------------------------------
UPDATE table SET updcol = func(a,b);のようなsqlで一括更新していました。
これと同じようなことやりたいですが、sqliteだけでは実現難しいになりますでしょうか。
一括でUPDATEしたい理由によってきます。
UPDATE一本で書ければシンプルだから、という理由ならちょっと対応できません。
複数行を一括でUPDATEしないと、UPDATEを複数回やっている間の中途半端な状態で他の問い合わせを受けたりするとまずいから、ということであればトランザクションが使えます。
トランザクションは「開始」してから「終了」するまでの間を一個の独立した操作として扱うものです。途中で何か失敗したら開始前まで一気に巻き戻せますし、中途半端な中間状態を他の問い合わせから隠蔽することもできます。
http://www.nishi2002.com/sqlite/x.php?cate=sql&id=41
ありがとうございます~
sqliteだけではfuncにあたるプロシージャを記述できないので、実現できません。
PHPやPythonでfuncとSQL文を記述してやればできます。
ありがとうございます~
ありがとうございます~
2013/08/31 14:10:46