안녕하세요, ORACLE은 너무나도 초보인 정진우라고합니다.
지금 로그수집관련 개발을 하고있는데요. (실제 쓰이는것은 아니고 혼자 개발 하고 있습니다.)
ORACLE에 대한 공부는 많이는 하지 못하였습니다. ㅠ
ORACLE DB를 대상으로 개발을 하려는데,
쿼리 구현이 너무나 막혀서 이렇게 질문을 올립니다.
테이블은 총 3개의 테이블을 조회할 것이고, 이미 이전에 session 값과 url이 존재하는지 확인후 데이터를 insert 하려고합니다.
여기서 질문은 select를 통해 데이터여부를 확인 후, 데이터를 insert 할때 생성되는
시퀀스값을 바로 받을 수 있는 방법이 없나 해서입니다.
select session_id from visitor where session_id = %in_session_id; 로 조회하였는데 존재하지 않으면!
insert into visitor(idx, session_id)
values(seq_idx.NEXTVAL, session_id) 이러한 형식으로 삽입을 하려고 했는데.
이론상으로는 insert문을 성공한 후에, seq_idx.CURRVAL 을 하면 될 것 같지만,
용도가 로그 수집인 만큼, 페이지뷰가 일어나거나, 새로운 사용자가 접속이 이루어졌을때,
동시다발적으로 액션이 발생하면 seq 의 값이 틀려지지는 않을까 ? 해서요.
뭔가 좋은 방법이 없을까요 ?
아니면, 저렇게 구현하더라도 제가 염려하고 있는 상황은 발생하지 않을려나요 ..??