[Seasar-user:9181] [S2DAO]プライマリーキーを変更したい時のの楽観的排他について
fujihara
[E-MAIL ADDRESS DELETED]
2007年 7月 17日 (火) 15:37:49 JST
fujiharaです。
Churaプロジェクト(Teeda1.07+S2DAO1.0.43)で社内システムを
構築しています。
PostgreSQL 8.2.4でプライマリキーを変更したい場合のNersionNoによる排他方法
の更新SQLを知りたいのですが
つまりNotSingleRowUpdatedRuntimeExceptionが発生するようにしたいのですが
-----------テーブル-------------
CREATE TABLE Usrgrpassigned(
USR_GRP_ID INTEGER NOT NULL,
USR_ID CHAR(12) NOT NULL,
UPDATE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
VERSIONNO INTEGER NOT NULL DEFAULT 0,
PRIMARY KEY(
USR_GRP_ID,
USR_ID)
-------------------------------
上記のテーブルでプライマリーキー更新時に楽観的排他を
かけたいのですが
プライマリキー変更時には自動生成のSQLが使えないので自分でSQLを書きましたが
NotSingleRowUpdatedRuntimeExceptionが発生しません。
どの様なSQLを書けばできるのでしょうか?
-----------SQL-------------
UPDATE
Usrgrpassigned
SET
USR_GRP_ID = /*newUsrGrpId*/1,
VERSIONNO = /*newVersionNo*/0,
UPDATE_DATE = now()
WHERE
USR_GRP_ID = /*oldUsrGrpId*/2 AND
VERSIONNO = /*versionNo*/0 AND
USR_ID = /*usrId*/'A1001'
----------------------------
上記のSQLでは指定されたUSR_IDでUSR_GRP_IDを
更新しようとしています。
以上、申し訳ありませんが宜しくお願いします。
-----------------------------------
コンピュータマネージメント株式会社
冨士原 孝之 / [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内