sqliteの質問です。


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だけでは実現難しいになりますでしょうか。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/08/31 14:11:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:dawakaki No.2

回答回数797ベストアンサー獲得回数122

ポイント80pt

sqliteだけではfuncにあたるプロシージャを記述できないので、実現できません。
PHPやPythonでfuncとSQL文を記述してやればできます。

id:yayayai

ありがとうございます~

2013/08/31 14:10:46

その他の回答1件)

id:Sampo No.1

回答回数556ベストアンサー獲得回数104

ポイント20pt

一括でUPDATEしたい理由によってきます。

UPDATE一本で書ければシンプルだから、という理由ならちょっと対応できません。

複数行を一括でUPDATEしないと、UPDATEを複数回やっている間の中途半端な状態で他の問い合わせを受けたりするとまずいから、ということであればトランザクションが使えます。

トランザクションは「開始」してから「終了」するまでの間を一個の独立した操作として扱うものです。途中で何か失敗したら開始前まで一気に巻き戻せますし、中途半端な中間状態を他の問い合わせから隠蔽することもできます。
http://www.nishi2002.com/sqlite/x.php?cate=sql&id=41

id:yayayai

ありがとうございます~

2013/08/31 14:10:42
id:dawakaki No.2

回答回数797ベストアンサー獲得回数122ここでベストアンサー

ポイント80pt

sqliteだけではfuncにあたるプロシージャを記述できないので、実現できません。
PHPやPythonでfuncとSQL文を記述してやればできます。

id:yayayai

ありがとうございます~

2013/08/31 14:10:46

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません