Düzeltme: UNION sorgusu 8623 oluşuyor iç sorgu işlemcisi hata iletisi döndürür.

Makale çevirileri Makale çevirileri
Makale numarası: 286255 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
# HATA: 351259 (shiloh_bugs)
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Aşağıdaki koşullar yerine getirilirse, BIR sorgu deyimi 8623 hata iletisiyle başarısız olabilir:
  • Sorgu, UNION yan tümcesi kullanır.

  • UNION sorgu bir SELECT ifadelerine birine başvuruda bulunan bir IN yan tümcesi içinde bir alt sorgunun WHERE yan tümcesi vardır.

  • SQL Server sorgu en iyi duruma getiricisi, sorguyu çözümlemek için döngü birleştirme seçer.
Hata iletisinin tam metni şöyledir:
Sunucu: Hata 8623 oluşuyor, Level 16, State 1, satır 1 iç sorgu işlemcisi hatası: the query processor a query plan üretir. Birincil destek sağlayıcınıza daha fazla bilgi için başvurun.

Çözüm

Hizmet paketi bilgileri

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

Düzeltme bilgileri

Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak bu düzeltmenin, yalnızca bu makalede anlatılan sorunu gidermesi amaçlanmıştır. Bu düzeltmeyi yalnızca bu sorunla karşılaşan sistemlere uygulayın.

Düzeltme karşıdan yüklenebilir ise bu Bilgi Bankası makalesinin başında "Düzeltme karşıdan yüklenebilir" bölümü bulunur. Bu bölüm görünmüyorsa, düzeltmeyi edinmek üzere Microsoft Müşteri Hizmetleri ve Destek ekibine bir istekte bulunun.

Not Ek sorunlar oluşursa veya tüm sorun giderme işlemi gerekmiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Microsoft Müşteri Hizmetleri ve Destek telefon numaralarının tam listesi veya ayrı bir hizmet isteği oluşturmak için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/contactus/?ws=support
Not "Düzeltme karşıdan yüklenebilir" formunda, düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, bunun nedeni bu düzeltme, seçtiğiniz dil için kullanılamaz.Bu düzeltmenin ingilizce sürümünde aşağıdaki dosya öznitelikleri olmalı veya daha yenisi:
   Date         Time     Version    Size      File name      Platform
   -------------------------------------------------------------------

   01/13/2001   12:52a   8.00.240   7446589   Sqlservr.exe   Intel

				
Not: Dosya bağımlılıkları nedeniyle, en son düzeltme veya özellik, yukarıdaki dosyaları içeren ek dosyalar da içerebilir.

Pratik Çözüm

Bu davranışa geçici bir çözüm bulmak için:
  • Sorgu deyimini yeniden yazın ve IN yan tümcesi alt sorgu yerine bir birleşim kullanın.

    -VEYA-

  • SEÇENEK en iyi duruma getiricisi ipucu, bir karma union zorlamak için kullanın. "Daha fazla bilgi" bölümündeki örnek sorgu değiştirmek:

    SELECT P.EMP_NO, N.ADJ_SCON
      FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N
      WHERE  E.EMP_NO = P.EMP_NO AND
             N.EMP_NO = E.EMP_NO AND
             P.JOB_ID = 25 AND
             N.PAYRUN_NO = 0
    
      UNION
    
      SELECT P.EMP_NO, ''
      FROM   BATCH_EMPEE P, EMPLOYEE E
      WHERE  E.EMP_NO = P.EMP_NO AND
             P.JOB_ID = 25 AND
             E.EMP_NO NOT IN
                 (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)
    
      OPTION (HASH UNION)
    					

Durum

Microsoft SQL Server 2000'de bir sorun için onaylamıştır. Bu sorun ilk olarak SQL Server 2000 Service Pack 1'de giderilmiştir.

Daha fazla bilgi

Aşağıdaki sorgu 8623 hata iletisine neden bir tablo için bir örnektir:
SELECT P.EMP_NO, N.ADJ_SCON
  FROM   BATCH_EMPEE P, EMPLOYEE E, NI_CONDITION N
  WHERE  E.EMP_NO = P.EMP_NO AND
         N.EMP_NO = E.EMP_NO AND
         P.JOB_ID = 25 AND
         N.PAYRUN_NO = 0

  UNION

  SELECT P.EMP_NO, ''
  FROM   BATCH_EMPEE P, EMPLOYEE E
  WHERE  E.EMP_NO = P.EMP_NO AND
         P.JOB_ID = 25 AND
         E.EMP_NO NOT IN
             (SELECT EMP_NO FROM NI_CONDITION WHERE PAYRUN_NO = 0)
				

Özellikler

Makale numarası: 286255 - Last Review: 24 Şubat 2014 Pazartesi - Gözden geçirme: 4.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbbug kbfix kbqfe KB286255 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:286255

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