예를 들어. 공정 실적을 처리하는 프로그램을 만든다고 했을 때..
양품 과 불량 수량을 입력하고 저장을 누르면..
실제 프로그램내에서는 [양품 bdc] 를 타고 그리고 나서 [불량 bdc]를 타게 되어 있는데...
[양품bdc]는 okay를 했는데.. [불량 bdc]를 실행할때 lock 걸려서 또는 기타 이유로 실행하지 못할때.. 기존 양품은 이미 처리되면서 자동 commit 된 상태이고 불량은 처리 못한 상태 이므로 ?
기존것을 다시 취소해야 할까요? 아니면.. lock이 걸릴때 까지 기다리고 있어야 할까요? ( dead lock이 걸릴수도 있음 )
실제로는 2개의 트랜잭션이지만 프로그램에서는 하나의 트랜잭션으로 봐야 하므로?? 이럴때.. ? 어떤 방식으로 처리 하는 것이 좋을 까요? 고수님들의 조언 부탁 드립니다.. |
이건 컨설분께 물어 봐야 할것 같은데요 ~~
저의 생각은 둘중 하나라도 lock 이 걸려서 에러가 발생하면 commit 를 발생 시키면 안될것 같은데요 ~~
[양품bdc] okay 했다고 해서 정확한 데이타는 아니잖아요 ..
정확성을 생각 할려면 둘다 아무런 에러 없이 성공을 하고 난다음에 commit 를 하는게 맞다고 생각합니다. ^^
저의 생각~~