Düzeltme: Sunucu tarafı imleç hatalı sonuçlar iade

Makale çevirileri Makale çevirileri
Makale numarası: 286788 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 351513 (Shiloh_bugs)
# HATA: 101092 (SQLBUG_70)
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki koşulların tümü yerine getirilirse, dinamik anahtar kümesi tabanlı veya sunucu tarafı imleç hatalı sonuçlar döndürebilir:
  • Sorgu, bir sütun listesi Sub-SELECT bir deyim kullanır.
  • Sub-SELECT COUNT(*) işlevini kullanır.
  • Bir durum ile bir ANSI JOIN the Sub-SELECT vardır.
  • FROM yan tablonun dış bir Sub-SELECT olan bir Transact-SQL birleşim vardır.

Çözüm

SQL Server 2000

Bu sorunu gidermek için <a0></a0>, SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211BILGI: en son SQL Server 2000 hizmet paketi nasıl elde edilir

SQL Server 7.0

Bu sorunu gidermek için <a0></a0>, Microsoft SQL Server 7.0 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
301511BILGI: en son SQL Server 7.0 hizmet paketi nasıl elde edilir

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır.

SQL Server 2000
Bu sorun ilk olarak SQL Server 2000 Service Pack 1'de giderilmiştir.

SQL Server 7.0
Bu sorun ilk olarak Microsoft SQL Server 7.0 Service Pack 4'de giderilmiştir.

Daha fazla bilgi

Sorunu yeniden oluşturmak için şu kodu çalıştırın:
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
				

Özellikler

Makale numarası: 286788 - Last Review: 31 Ekim 2003 Cuma - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286788 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:286788

Geri Bildirim Ver

 

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