FIX: 잘못된 결과 서버 쪽 커서 반환할 수 있다

기술 자료 번역 기술 자료 번역
기술 자료: 286788 - 이 문서가 적용되는 제품 보기.
# BUG: 351513 (Shiloh_bugs)
# 버그: 101092 (sqlbug_70)
모두 확대 | 모두 축소

이 페이지에서

현상

동적 또는 키 집합 기반 서버 쪽 커서는 다음 조건이 모두 충족될 경우 잘못된 결과를 반환할 수 있습니다.
  • 쿼리를 열 목록으로 Sub-SELECT 문을 사용합니다.
  • 해당 Sub-SELECT COUNT(*) 함수를 사용합니다.
  • ANSI 조인 조건을 사용하여 해당 Sub-SELECT 있습니다.
  • 외부 FROM 절은 테이블에 있는 Sub-SELECT 사용하여 Transact-SQL 조인이 있습니다.

해결 방법

SQL Server 2000

이 문제를 해결하려면 SQL Server 2000의 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
290211INF: SQL Server 2000의 최신 서비스 팩을 구하는 방법

SQL Server 7.0

이 문제를 해결하려면 Microsoft SQL Server 7.0 최신 서비스 팩을 구하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
301511INF: SQL Server 7.0 최신 서비스 팩을 구하는 방법

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다.

SQL Server 2000
이 문제는 SQL Server 2000 서비스 팩 1에서 처음 수정되었습니다.

SQL Server 7.0
이 문제는 Microsoft SQL Server 7.0 서비스 팩 4 수정되었습니다.

추가 정보

문제를 재현하는 데 이 코드를 실행하면:
CREATE TABLE  TABLE1( T1COL1 int NOT NULL PRIMARY KEY)
go
CREATE TABLE  TABLE2(
 T2COL1 int NOT NULL PRIMARY KEY,
 T2COL2 int NOT NULL )
go

CREATE TABLE TABLE3(
	T3COL1 int NOT NULL)
go
Insert into TABLE1(T1COL1) values(4)
Insert into TABLE1(T1COL1) values(3)
Insert into TABLE2(T2COL1, T2COL2) values(5, 3)
Insert into TABLE2(T2COL1, T2COL2) values(6, 4)
Insert into TABLE3(T3COL1) values(6)
go

-------------- REPRO SCRIPT (Correct result would be 0,1) -------------
declare test cursor keyset for Select (select count(*)
      from dbo.TABLE2 as T2 join dbo.TABLE3 as T3 on T3.T3COL1 = T2.T2COL1
      where T2.T2COL2 = T1.T1COL1) as Para
 from dbo.TABLE1 as T1
open test
fetch test
fetch test
deallocate test


--------------- Workaround (Join condition moved to WHERE clause) ----------------
declare test cursor keyset local for Select (select count(*)
      from dbo.TABLE2 as T2, dbo.TABLE3 as T3 
      where T2.T2COL2 = T1.T1COL1 and T3.T3COL1 = T2.T2COL1) as Para
       from dbo.TABLE1 as T1

open test
fetch test
fetch test
deallocate test
				

속성

기술 자료: 286788 - 마지막 검토: 2003년 10월 31일 금요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
키워드:?
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286788 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com