안녕하세요!
서로 다른 버젼의 오라클 DB 2개를 동시에 사용하고 있습니다.
그중 하나는 저희 시스템에 있고, 다른 하나는 다른 시스템에 있는데 우리 DB에서 link해서
사용하고 있습니다. 즉, 데이타베이스는 하나로 정의했지만, 사실상 몇몇 테이블사용시에는 다른 db를 (물밑에서) 사용하고 있는 것이지요.
그런데 우리 db는 autocommit이 되고, 따라서 별도의 transaction처리를 하지 않고 사용했습니다. 그런데 다른 시스템의 db 어드민이 그쪽 테이블을 access한 후에는 반드시 commit을 해달라고 요청합니다.
그럼 insert, update 등의 sql에는 transaction을 걸면 되겠지요? 그런데 더불어 'select'문을 사용했을 경우에도 commit을 해야만한다고 말합니다. 이게 가능한가요?
아무리 남의 db를 link하고 commit해야한다지만 select문에서 commit해야한다는 말은 금시초문이어서....
진위여부및 가능여부(해야한다면 언제? open한후에? 아니면 query를 free하기전/후에???...)
아무튼 유사한 경우 혹은 잘 아시는분의 현답을 기다리겠습니다~ 고맙습니다!!!
셀렉션이 For Update형으로 주어질 경우엔 Commit를 안해주면 커넥션이 끊어질 때 까지 레코드를 계속 붙잡고 있을 수 있는 것으로 압니다.