일단 현재는..
1. For문 (출고)
2. For문 (SEQ따오기->입고)
이런 식으로 구성되어 있는데요.
여기서 SEQ를 따올 때, 시퀀스테이블을 두고 For Update 문을 사용해서
Max값을 가져오고, 시퀀스테이블은 Max값으로 Update하는 방법입니다.
문제는 여기서 Seq를 가져오고 나서 Commit을 실행하는데
(이유는 For문이라 다음 녀석도 SEQ를 가져오기 위해서)
그러다보니 중간에서 에러가 발생해서 RollBack을 하면..
;;출고만 되어있는등에 문제가 발생하더라구요..
그래서 변경하는 방안을 생각해봤는데..
1. 필요한 갯수 만큼 Seq를 미리따서 그 다음 For(입고, 출고) 처리를 한다.
2. Max값을 직접 가져오도록 한다.
3. For(seq ->출고 ->입고)순으로 처리. 그러면;중간에 에러나면 출고 한쪽만
있는 경우는 없겠죠;;물론 다 RollBack처리가 안되지만^_^;;;
아무래도 1번이 좋은것 같은데..
혹시 이것 말고 번뜩하는 그런 방법은 없을까요~
Commit은 부분적으로 한다던지;;예를 들어 Table별로(찾아보니;없더라구요)
아니면 보통 이런방식으로 처리한다던지..
이런 commit상식을 알아두면 좋다던지~!
^_^머든지 조언구합니당~!!
P/S 제가 파워빌더로 작업중 인데
트랜잭션 별로 Commit과 RollBack이 가능한지 궁금합니다.
SP에서 Commit을 했더니;;트랜잭션하고는 상관없이 모두 되더라구요
ㅠ _ ㅠ