Düzeltme: Karmaşık bir Update deyimi 8624 iç SQL sunucu hatası döndürüyor

Makale çevirileri Makale çevirileri
Makale numarası: 286249 - Bu makalenin geçerli olduğu ürünleri görün.
# Hata: 351305 (SHILOH_bugs)
Hepsini aç | Hepsini kapa

Belirtiler

Türetilmiş bir UNION ALL biçimlendirilmiş tablo seçer, bir alt sorgu içeren bir UPDATE deyimi, aşağıdaki hata iletisini oluşturabilir:
Sunucu: Msg 8624, Level 16, State 21, satır 2
SQL Server iç hata.

Çözüm

Bu sorunu gidermek için <a0></a0>, Microsoft 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

Pratik Çözüm

Olanaklıysa, sorguyu yalnızca BIRLEŞIM işlecini, TÜM anahtar sözcüğü olmaksızın kullanarak yeniden yazın.

Durum

Microsoft, bu makalenin başında listelenen Microsoft ürünlerinde bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak Microsoft SQL Server 2000 Service Pack 1'de giderilmiştir.

Daha fazla bilgi

Bu hata yeniden oluşturmak için <a0></a0>, bu komut dosyasını çalıştırın:
CREATE TABLE MaxCol(
PK INT PRIMARY KEY,
f1 INT,
f2 INT,
mx INT
)
GO

UPDATE MaxCol
SET mx =
    (SELECT MAX(f)
    FROM
        (
        SELECT f1 AS f
        FROM MaxCol AS A
        WHERE A.PK=MaxCol.PK
        UNION ALL
        SELECT f2
        FROM MaxCol AS B
        WHERE B.PK=MaxCol.PK
        ) AS TU
    )
				

Özellikler

Makale numarası: 286249 - Last Review: 16 Ekim 2003 Perşembe - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB286249 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:286249

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