SQL Server 2012'de bir dizi satır ve sütun karması oluşturmak için herhangi bir yol var mı?sql sunucusunda bir dizi satır için karma üret
Bir karma oluşturmak istiyorum, üst kayıtta saklayın. Bir güncelleme geldiğinde, gelen karma ile ana kayıt karma değerini karşılaştırırım ve verilerin değişip değişmediğini öğreneceğim.
Yani böyle bir şey iyi olurdu:
SELECT GENERATEHASH(CONCATENATE(Name, Description, AnotherColumn))
FROM MyChildTable WHERE ParentId = 2 -- subset of data belong to parent record 2
"BİRLEŞTİR" bir toplama işlevi olacağını olmaz sadece sütunlar concat, aynı zamanda, resultset içindeki satırlar. MAX gibi, ancak her şeyi bir dizge birleştirme olarak döndürüyor.
Umarım bu ne demek istediğimi görmenize yardımcı olur!
Çözmeyi denediğim temel sorun, istemcimin sistemindeki çok miktarda hiyerarşik veri ithalatını gerçekleştirmesidir. Eğer karma kullanımıyla işlenmeyi engelleyebilirsem, bunun çok zaman kazandıracağını düşünürdüm. Şu anda, SP, yinelenen verileri işlemek zorunda kaldığında% 300 daha yavaş çalışıyor.
çok teşekkürler tek sıra sağlamalarının için
Ne yazık ki CHECKSUM bilinen zayıflıklara (yani pratik çarpışmalara) sahiptir. Örneğin. ondalık türü http://sqlserverpains.blogspot.com.au/2008/06/checksum-pains.html bu yüzden sadece dikkat edin. – Shiv