C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[65392] Re:한레코드만 락을 걸수 있는지해서요.
땅주인 [heaven2] 1107 읽음    2011-10-26 16:51
Lock을 걸 때 Shared mode와 exclusive mode가 있는 것으로 아는데요..
이런 것이 있다고 하더라도.. 같은 Row에 대하여 Select하고.. upload하는 시간의 텀이
길면 동일 데이터에 대한 Action일 지 확신하기 힘듭니다. 그래서, 저는
화면에 표시할 때 select하고.. update나delte할 때 다시한 번 select해 봅니다. (저의 경우입니다.)

Lock을 거는 syntax는

// shared mode
SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE;

//exclusive mode (?) 이것은 commit되기 전의 데이터 인 지.. 보다 말아서.. 암튼 Syntax는 이렇습니다.
SELECT counter_field FROM child_codes FOR UPDATE;
UPDATE child_codes SET counter_field = counter_field + 1;

하안인 님이 쓰신 글 :
: 한레코드만 락을 걸수 있는지 해서요.
: 그러면 락이 걸려있는 동안에 그 레코드만 접근안되고
: 다른 레코드를 가져갈 수 있도록 하기 위해서입니다.
:
:
: Lyn 님이 쓰신 글 :
: : 쿼리 하는 동안 테이블에 락 걸면 되죠 ...
: :
: :
: : 하안인 님이 쓰신 글 :
: : : mysql 에서 데이타를 여러 pc에서 동시에 데이타를 하나씩 가져오려고 합니다.
: : :
: : : 즉,
: : : select * from test where st = 'R' limit 1;
: : : st = test->fieldByname("seq")->AsInteger;
: : : sql = update test set st = 'I' where seq = st;
: : :
: : : 그런데 만약 100개의 피씨에서
: : : 위와 같은 퀴리를 실행하면 같은 레코드를
: : : 가져올 확률이 있지 않나해서요.
: : :
: : : 동접이 생겼을때 상관이 없을까요?

+ -

관련 글 리스트
65385 [질문]mysql data 접근시 하안인 985 2011/10/26
65386     Re:[질문]mysql data 접근시 Lyn 1003 2011/10/26
65387         한레코드만 락을 걸수 있는지해서요. 하안인 1088 2011/10/26
65392             Re:한레코드만 락을 걸수 있는지해서요. 땅주인 1107 2011/10/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.