트랜잭션의 정의(엠파스 정보 통신 사전)
①상점에서의 고객의 주문이나 판매, 은행에서의 예금주의 입금이나 출금과 같은 하나의 외부 거래를 기록하기 위하여 컴퓨터 시스템 내부에서 완료되어야 하는 일련의 처리 동작. 트랜잭션에는 파일 내용의 갱신, 수신 응답(acknowledgement)의 통보 등이 포함된다. 트랜잭션 데이터가 단말기를 통해 입력되는 경우(teleprocessing), 하나의 트랜잭션은 단말기와 트랜잭션 응용 프로그램을 작동시키는 컴퓨터 시스템 간의 몇 번의 메시지 교환으로 이루어지기도 한다.
②외부 거래를 기록하기 위해 단말기 등에서 생성하여 컴퓨터 시스템으로 전송되는 데이터. 트랜잭션 데이터와 같은 의미로 사용된다.
③데이터베이스에 대한 조회나 갱신 조작의 열로 구성되는 처리의 기본 단위. 갱신에 의해 일시적으로 부정합되는 데이터베이스 내의 데이터가 이용자에게 사용되지 않도록 하기 위해 적절한 구분 기호로 일련의 조작을 한데 묶어서 처리한다. 트랜잭션은 원자성(atomicity), 정합성(consistency), 고립성(isolation), 내구성(durability) 등의 특성에 의해서 실행의 정당성이 보증된다.
흠 저렇게 장황하게 써있는데 간단한 트랜잭션의 내용은 일처리다.
즉 간단하게 은행을 예로 들면 은행 업무에서 은행 업무를 처리한후 결제를 받게 되는데 결제를 승인 받은 문서는 인정 문서가 도지만 승인 받지 못한 문서는 폐기 되는 것과 같은 원리다.
이런 트랜잭션은 변경의 경우 더욱 유용하게 사용할 수 있다.
간단헤가 트랜잭션의 명령어는 세가지로 분류된다.
begin trans -> 트랜잭션을 시작
rollback trans -> 허가되지 않은 트랜잭션
commit trans -> 허가된 트랜잭션
비주얼 베이직에서는 connection개체에 저 세가지 명령어가 포함되어 있다.
begintrans
rollbacktrans
committrans
우선 begin을 사용해 트랜잭션을 사용한후
해당 sql문을 실행시킨다.
그리고 그 sql문의 결과가 자신의 의도와 맞는 경우
commit trans를 써주고
아닌 경우
rollback trans를 써주면 된다.
간단하게 비주얼베이직에서 순차 흐름을 따라 실행할때
트랜젝션을 시작시켜 놓고
경우에 따라 그 트랜잭션을 승인하느냐 승인하지 않느냐를 정해주면 된다..