commit 3

JDBC와 DB간의 커밋(commit). 관계, 열 시퀀스. 2022-02-08

그전에는 커밋을 단지 SQL DEVELOPER의 접속 세션에만 영향을 주는줄 알았는데, 실제 JDBC로 DB에 불러올때도 똑같은 원리가 적용되는줄 이제 알았다. 이전 나의 포스팅을 참고바람. 커밋과 롤백, DATE 형 칼럼에 값 insert 하기. 2021-07-23 — "꾸준하게, 지속하자" (tistory.com) session2에서 notice 테이블에 새로운 테이블을 추가 했음에도, session1에 반영이 안된 모습. (해당 테이블이 ROCK걸린 상태). session2에서 커밋을 완료하고, session1에서 바로 반영된 모습. 그런데 위에 보면 hit가 10 이상인 레코드만 뽑아내는 기능은 session1 ,2 둘다 같은데 코드의 방식이 서로 다르다. session1 은 java 로 if(1..

기록/JDBC 2022.02.08

커밋과 롤백, DATE 형 칼럼에 값 insert 하기. 2021-07-23

지난 포스트에서 내가 관련 개념을 설명할 때는, 직접 SQL developer에서 프로그래밍 해 보지는 않았는데, 오늘 직접 해보니, 막연한 개념을 확실히 확인할 수 있었다. **커밋,롤백, 트랜젝션에 대한 자세한 설명은 내 이전포스트 참고바람. 우선 서로다른 세션이 한 저장소에 접근하는것을 보이기 위해 SQL developer를 두번 열었다. 이렇게 연 다음, Session2에서 ID 가 newlec인 레코드의 칼럼을 update 한 뒤 Session1에서 해당 레코드의 칼럼중 하나인 gender에 접근하여 바꾸려 하자 보이는 것처럼 바로 ROCK이 걸렸다. 이유는 Session2가 아직 commit 하지 않았으므로, 해당 레코드에 관한 트랜젝션이 완료되지 않았다고 간주하고, 해당 테이블이 Sessio..

기록/SQL 2021.07.23

트랜젝션(transaction), commit, rollback 2021-06-21

오라클에서 한 세션에서 INSERT 한 데이터가 왜 다른 세션으로 접속했을때, 반영이 되지 않는 것일까? 이 질문에 답을 하기 위해선, 트랜젝션이 무엇인지 알아야한다. 내가 오늘 공부하며 내린 결론은 트랜잭션이란 DB의 변화를 가져오는 일련의 "명령어들"의 단위집합 이다. 좀더 쉽게 풀어쓰면, 한 업무의 수행단위 라 볼수 있다. 자세히 설명하자면, 계좌이체 라는 과정을 수행하려 했을때, 한 계좌에서 돈을 UPDATE를 통해 빼주고, 다른 계좌에서 UPDATE를 통해 돈을 더해줘야만, "계좌이체"라는 하나의 업무단위(트랜잭션)가 완성되는 것이다. 즉, UPDATE/INSERT/DELETE 각각의 명령어 한개가 수행되었다고 해서 트랜젝션이 완료되는 것이 아니라(물론 하나의 명령어로 완료되는 트랜잭션이 있을수..

기록/SQL 2021.06.21