2010年11月17日

[mysql 15427] シェルから

すいません。今日2回目の相談です。

またストアドネタです。
シェルから実行するときのトランザクションのコントロールで相談です。
効かせ方が分かりません。

シェル
mysql ・・・・('START TRANSACTION')

mysql ・・・・(CALL SP1())
mysql ・・・・(CALL SP2())
mysql ・・・・(CALL SP3())
mysql ・・・・('COMMIT')

GOTO エラー処理
mysql ・・・・('ROLLBACK')

上記ではロールバックは効きませんでした。

下記のようにストアドの中ならロールバックは効きました。
ALLSPの中でトランザクションは管理、実施したいSPをすべてCALLする。
ALLSP(

エラーハンドラー(
ROLLBACK;
)

START TRANSACTION;
CALL SP1();
CALL SP2();
CALL SP2();
COMMIT;

)

MySQLのバージョンは5.0.67です。エンジンはINNODBです。


-------------------------------------------------
伊藤崇洋
ito.takahiro.cp@xxxxx
-------------------------------------------------

投稿者 xml-rpc : 2010年11月17日 20:06
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/100056
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。