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
운영게시판
최근게시물
MS-SQL Q&A 5953 게시물 읽기
No. 5953
멀티 쓰레드에서 데이터 무결성 보장을 어떻게 하나요?
작성자
김민식(mspower)
작성일
2011-09-28 15:42ⓒ
2011-09-29 09:46ⓜ
조회수
6,208

DECLARE @Code INT

SELECT @Code = MAX(Code) From CodeTable     ---- (1)

INSERT INTO AnotherTable (Code) VALUES(@Code + 1)    ---- (2)

 

두개의 쓰레드가  모두 INSERT 구문 실행전인 (1) 까지 완료된 상태가 되면, 둘다 같은 @Code 값을 갖게 됩니다.

그 결과로 두번재 테이블에 같은 Code 값이 저장됩니다.

이런 결과를 막기 위해서 C++ 의 동기화 객체처럼...

위 두줄을 어떻게 처리하면 될까요? 

ISOLATION 을 가지고 해봐도 안되더군요.ㅠ.ㅠ

 

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

 테이블에 락을 걸고 하시면 됩니다.

1님이 2011-09-29 10:25에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5956GROUP BY 관련 질문입니다. [1]
최명근
2011-10-04
5729
5955sql 저장프로시져들만 백업 및 복원방법? [1]
있나없는거같은데
2011-10-01
9653
5954Query 질문 드립니다... [1]
쪼렙
2011-09-29
6482
5953멀티 쓰레드에서 데이터 무결성 보장을 어떻게 하나요? [1]
김민식
2011-09-28
6208
59522개의 필드에 순번매기기 방법좀 알려주세요. [1]
권순환
2011-09-25
6675
5950링크드 서버연결후 조회시 데이터를 강제로 짤린것이 조회가안됩니다.
권순환
2011-09-22
6119
5949프로시져 실행하면서 로그를 남길수 있나요? [2]
선이
2011-09-22
8700
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다