人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: FujiiRock
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Sampo
●20ポイント

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

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

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

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


FujiiRockさんのコメント
ありがとうございます〜

2 ● だわかき
●80ポイント ベストアンサー

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


FujiiRockさんのコメント
ありがとうございます〜
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ