database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 976 게시물 읽기
No. 976
트랜잭션 처리 관련 질문입니다.
작성자
김형진(낭중지추)
작성일
2004-05-16 00:16
조회수
7,849

SQL공부하다가 트랜잭션 부분을 보는데 잘 모르는 것이 있어서 질문 드립니다. 제가 보는 책에 SQL 1999 표준에서 begin atomic~end 구문이 여러 SQL을 싸서 단일 트랜잭션을 형성한다고 되어 있는데 무슨 소린지 잘 이해가 안가서 자세한 설명

을 부탁 드립니다.

이 글에 대한 댓글이 총 2건 있습니다.

트랜잭션의 의미를 정확히 이해하고 계신지..

트랜잭션이란 간단히 말해 하나로 처리해야할 일의 단위라고 설명할수 있습니다. (보통 은행업무로 설명을 하죠 ^^)

begin atomic~ end 이부분은

트랜잭션의 시작(begin)부분을 의미하고

atomic(트랜잭션의 특성, 원자성~ 어쩌구

트랜잭션의 끝(end)을 의미합니다.

위 시작과 끝을 하나의 블락이라고 가정하면

블락내에서의 디비데이터를 변경하는 쿼리문에 대해서

단일 트랜잭션으로(하나의 단위로) 처리한다는 말입니다.

제가 mysql의 이노디비 사용하는데..

보통 이런식으로 작업합니다..

mysql_query("begin", $con); 트랙잭션의 시작을 의미합니다.

res1 = insert into~~  --> 임시 인서트

res2 = update ...       --> 임시 업데이트

if(res1 && res2)

    mysql_query("commit", $con)      <-- 이부분에서 정말디비에 기록합니다.

else

    mysql_query("rollback", $con);    <- 트랙잭션 취소.(현재 진행했던 작업을 다 취소합니다.

 

굵은 글씨 부분이 단일 트랜잭션을 형성하는거죠..

이해가 되셨는지 자기가 알고 있는걸 설명으로 하기는 힘들군요 ㅡ,.ㅡ;

 

 

 

김준수(shortcut25)님이 2004-05-23 01:33에 작성한 댓글입니다.
이 댓글은 2004-05-23 01:34에 마지막으로 수정되었습니다.

여러  SQL을 싸서 단일 트랜잭션을 형성한다라는 것은.....

예를 들면, 게임을  하실 때    (( ㅡㅡ;;))

끝까지 깨야 하는 게임이 있다고 할 때, 중간에 실패하면 지금까지 한 거 다 없었던 걸로 하고 다시 처음부터 하는 거라고 생각하시면 됩니다. 끝까지 완전하게 성공해야 다음판으로 넘어갈 수 있겠지요.

 

즉, SQL문이 여러개가 있어서 여러 테이블을 update 한다고 가정을 합시다.

만약 table A, B, C를 차례대로 update 한다고 할때,

A를 update 한 후, 문제가 생겼다면 어떻게 해야 할까요?

나중에 B, C를 update 할 수도 있겠지요...하지만 누가 또 A를 update 해 버렸고   A를 근거로 B, C를 update 해야 하는 상황이라면 엉망이 되어버리겠지요.

그래서 이럴 경우, A, B, C 를 순서대로 update 하지 못하고 A만 update 했다면, 이건  아예 없었던 일로 합니다. 즉 A, B, C update 는 한 운명이 되는거죠 .   모두 성공하면 다음 단계로 통과하는 거구요.

허지숙님이 2004-05-24 13:26에 작성한 댓글입니다.
이 댓글은 2004-05-24 13:28에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
981이럴땐 쿼리문 어떻게 작성해야 하나요...?? ㅜ.ㅜ [1]
ㅇㅇ
2004-06-04
7918
980두개의 .mdb file을 하나로...
한미정
2004-05-25
7583
977DBMS 가격 및 질문입니다. [4]
zebec
2004-05-18
10317
976트랜잭션 처리 관련 질문입니다. [2]
김형진
2004-05-16
7849
975데이터베이스랑파일프로세싱에차이점..
딸기
2004-05-12
7425
973엑세스를 몇일간 집중적으로 배울 수있는 곳없을까요..? [1]
엑세스배움이
2004-05-06
8549
972엑세스는 관계형 DBMS 아닌가요? [4]
엑세스
2004-05-03
8042
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다