Bir kullanıcı masasında çalışıyorum ve bir "son kullanma tarihi sonu" koymak istiyorum. Temel olarak, her yeni kullanıcının, deneme sürelerinin bir parçası olarak katıldıkları zamandan itibaren 2 tam ayı vardır. Kullanıcı masamın sütununa bir formül koyabildiğimi gördüm, ancak bunun yerine güncelleyen bir komut dosyası mı yoksa hesaplanan sütunlar kullanmak için kabul edilebilir bir zaman mı diye merak ediyorum. Bu tabloya çeşitli şeyler için erişiyorum ve zaman zaman kullanıcıların satırını performans kilometre taşı başarılarına göre güncelleyeceğim. Başvuru tarihi asla değişmeyecek/güncellenmeyecektir.SQL Server'da Hesaplanan Sütun için En İyi Yöntemler
Soruma şudur: Bu durumda, hesaplanan sütunu iyi bir uygulama kullanıyor mu veya bu satırı güncelleştirdiğimde her seferinde (Uygulama Tarihini güncelleyemesem de) yeniden komut verilecek mi? Gelecekte satırı güncellediğimde daha fazla ek yük oluşturmak istemiyorum. Ben Denetimli Serbestlik Bitiş tarihi sütun tanımı kullanıyorum
Formülü:
(dateadd(day,(-1),dateadd(month,(3),dateadd(day,(1)-datepart(day,[APP_DT]),[APP_DT]))))
"katılma tarihi" Are ve "başvuru tarihi (iki ay dışarı için ayın sonunu almak için biraz daha az convulted yaklaşımı kullanılır dikkat edin.) " aynı şey? Daha sonra, deneme bitiş tarihini diğer tarih sütunundan bağımsız olarak güncelleyebilmek ister misiniz? –
2 aylık politika değişecek mi? Gelecekte 1 veya 3 (veya başka bir değer) olabilir mi? –
Evet, JoinDate/AppDate aynı şeyi (üzgünüm, bunları birbirinin yerine kullanıyorum). Tarihi geçersiz kılmayacağım, ancak marc_s noktasına, güncellenmeyeceğinden, bunu insert komut dosyasının bir parçası olarak ekleyeceğim. Bunu da indekslemeliyim, ve kalıcı olmadan, bu işe yaramayacak. Yıldırım hızlı cevap için bir milyon teşekkür! – Brian