- - PR -
トランザクションの基本について
1
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-21 19:41
いつも参考にさせて頂いております。今回、教えていただきたいことはトランザクションについてです。
入社したての頃に先輩にトランザクションについて教えてもらった際にマスタ画面のように1画面で1つのテーブルを更新する場合はトランザクションはきらなくてもいいと教わりました。(たとえおちてもデータが更新されていないからロールバックする必要がないとの事) この教えは正しいのでしょうか?今まで漠然とその話を信用していたのですが、最近、不安になってきました。初歩的な質問で申し訳ないのですが、よろしくお願いいたします。 | ||||||||
|
投稿日時: 2006-06-21 20:16
悲観的ロックでない前提だよね?
単一データの更新であればそうだが、複数データを更新する場合は状況が変わるんじゃないかな。 | ||||||||
|
投稿日時: 2006-06-21 20:50
>悲観的ロックでない前提だよね?
悲観的ロック(自分が操作している情報は,他の人も操作する可能性がある)という意味でしたら悲観的ロックもあるかと・・・。 たとえば商品マスタがあって、その商品は自分も操作をするけど他の人も操作をする可能性はありますよね? もしも見当違いなことを言っていたら申し訳ありません。 >単一データの更新であればそうだが、複数データを更新する場合は状況が変わるん >じゃないかな。 それはそうだと思います。私も複数データを更新する場合はトランザクションをきる必要があると思います。 ということは単一データであればトランザクションをきる必要はないということでいいのでしょうか? | ||||||||
|
投稿日時: 2006-06-21 21:33
いやそういう意味じゃない。けどまあいいや。
ひとつのコマンドでも複数の行に影響を受けることはあるよね。 まあAutoCommitっちゅー考えからすると、ひとつのコマンドが終わったらそこで自動コミットだから問題はないはずだけどね。 | ||||||||
|
投稿日時: 2006-06-21 22:08
http://blogs.sqlpassj.org/akiraonishi/articles/5026.aspx
| ||||||||
1
