Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Düzeltme: sql Server 2008'de bir Ekle seçin UNION all deyimini çalıştırdığınızda hatalı sonuçlar

Ö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.

2530921

Microsoft, Microsoft sql Server 2008 Service Pack 1 Düzeltme karşıdan yüklenebilen bir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm tüm düzeltmeleri içerir ve önceki sql Server 2008 Service Pack 1'de bulunan tüm güvenlik düzeltmelerini düzeltmesi.
Belirtiler
Çalıştırdığınızda bir INSERT SELECT BİRLİĞİ TÜMdeyimi, sql Server 2008'de, deyimin sonucu yanlış olabilir kaynak tablosu,SEÇİNyan hedef tablosu olarak kullanılanEKLE yan tümcesi.

Örneğin, dört tablolar oluşturmak için aşağıdaki kodu çalıştırın:
CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME)
Bazı değerlere Ekle TabA, TabB, ve TabD tablolar ve sonra aşağıdaki komutu çalıştırın INSERT SELECT BİRLİĞİ TÜM ifade:

INSERT INTO [TabC] (P, M, A)SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALLSELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GO
Bu senaryoda, hatalı sonuçlar alırsınız ve bazı kayıtlar yanlış eklenir. TabC Tablo.

Çözüm

Güncelleştirme toplaması bilgileri

sql Server 2008 Service Pack 1 toplu güncelleştirme 14

Bu sorunla ilgili düzeltme, önce sql Server 2008 Service Pack 1 için toplu güncelleştirme 14'de yayımlanmıştır. Bu toplu güncelleştirme paketi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
2527187 sql Server 2008 Service Pack 1 için toplu güncelleştirme paketi 14
Not Yapılar birikimli olduğu için her yeni düzeltme sürüm tüm düzeltmeleri içerir ve önceki sql Server 2008'de bulunan tüm güvenlik düzeltmelerini düzeltmesi. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama önermektedir. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
970365 sql Server 2008, sql Server 2008 Service Pack 1'den sonra yayımlanan oluşturur
Microsoft sql Server 2008 için belirli bir sql Server hizmet paketi düzeltmeleri oluşturulur. sql Server 2008 Service Pack 1 yüklemesi için sql Server 2008 Service Pack 1 düzeltme uygulamalısınız. Varsayılan olarak, sql Server hizmet paketi içinde sağlanan düzeltme en ileri sql Server hizmet paketi dahil edilir.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 2530921 - Son İnceleme: 05/16/2011 19:43:00 - Düzeltme: 1.0

  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • kbqfe kbexpertiseadvanced kbsurveynew kbfix kbmt KB2530921 KbMttr
Geri bildirim