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 5880 게시물 읽기
No. 5880
세상에 이런일이 ㅠㅠ.. 도저히 이해되지 않습니다.
작성자
큰일
작성일
2011-04-28 15:34ⓒ
2011-04-28 16:25ⓜ
조회수
6,148

1/100초 사이에 한 유저가 동일한 쿼리를 날렸습니다. 거의 동시라고 봐야하는데요. ㅠㅠ

날린 쿼리는 다음과 같습니다. 간략버젼입니다.

 

declare @p_sum int

select @p_sum = ISNULL(SUM(point), 0)
  from table_1
 where userid = 'user1'

if @p_sum < 1000
   insert into table_1 (userid, point) values('user1', 1000)

문제는 거의 동시에 쿼리가 작동된 경우 위에서 보시는 if @p_sum < 1000 조건이 안먹힌다는겁니다.

물론 동일 세션에선 조건이 적용되는것 같은데요. 웹환경이다보니 서로 다른 세션에서 1/100초사이의 동시쿼리가 SQL 서버로 전달됩니다.

제가 뭔가 착각하고 있는게 있을까요? 서로 다른 세션일경우 어떤 처리를 추가해야되는건지 막막합니다.

도와주십시오

 

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

"If @p_sum < 1000"

이란 조건은 'user1' 있건도 insert문이 작동한다는 겁니다.

'userid'가 Key라고 보면 당연히 중복 오류가 발생할 수 있겠죠.

 

이승철(yamyo)님이 2011-05-11 14:57에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5884mssql돌아가는데 에터프라이즈관리 프로그램? [4]
김길동
2011-05-10
6889
5882int형식으로 저장된 datetime값을 datetime형식으로 나타내고 싶을 때... [1]
이은규
2011-05-02
6283
5881동일한 디비 환경 구성 질문드립니다. [1]
mssql
2011-04-29
6258
5880세상에 이런일이 ㅠㅠ.. 도저히 이해되지 않습니다. [1]
큰일
2011-04-28
6148
5879검색 조건에서 LIKE절 관련 질문입니다 [1]
JaCkalRedi
2011-04-27
6495
5878내일 MDF파일을 다른 서버로 옮깁니다.
청년재벌
2011-04-25
6762
58771:N관계에서 N테이블에 원하는 값이 있다면 [4]
조중규
2011-04-24
6454
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다