İki tablo var güncelleyin. Varolan bazı dataRecord'da (hemen hemen her) güncelleme yapıldığında DataRecord tablosunda (dataRecordID 'id1' zaten var) - varolan dataRecord (id: 'id1' version: 0) DataRecordArchive tablosuna eklenir ve dataRecord güncellenir ve Sürüm 1 olarak değişir (ve sürüm 2, 3 vb. gibi). Böylece tablo DataRecordArchive tablosundaki sonuçta kayıt id: ID1 've sürüm: 0 ve DataRecord tablosunda kayıt id: ID1' ve sürüm: 1 ilekriterlere göre iki tablolardan birinin kaydını nasıl seçilir, o zaman
Bazıları ile dataRecord güncellemem gerekiyor değer (bool değeri - satırın DataRecordArchive tablosuna çoğaltılmasına gerek yoktur - örneğin 'correctFlag'), AMA ID ve sürümüm olduğu için hangi tabloyu güncellemem gerektiğini seçmem gerekir, bu nedenle güncelleme kaydı DataRecord tablosunda olabilir veya DataRecordArchive tablosunda. Örneğin, dataRecord'ı id1 sürüm 0 ile güncellemem gerekirse - kayıt DataRecordArchive tablosundadır. DataRecord'ı id1 sürüm 1 ile güncellemem gerekirse, kayıt DataRecord tablosundadır.
şey gibi:
güncelleme durum olduğunda DataRecord seçin sayımı () nerede id = 'id1' ve sürümü => 0 0 ardından DataRecord zaman DataRecordArchive seçin sayımı () nerede id = ' id1' ve sürüm => 0 0 ardından DataRecordArchive uç seti correctFlag = 1 burada id = 'id1' ve sürümü = 0
bu güncelleştirme için doğru SQL statment nedir?
Dinamik SQL istediğim kadar zarif değildir. Bunu yapmanın tek yolu buysa, yapacağım. –