Pracuję z tabelą użytkowników i chcę wstawić "koniec daty okresu próbnego". Zasadniczo każdy nowy użytkownik ma 2 pełne miesiące od momentu przyłączenia się w ramach okresu próbnego. Widziałem, że mogę umieścić formułę w kolumnie dla mojej tabeli użytkowników, ale zastanawiam się, czy powinienem mieć skrypt, który aktualizuje to zamiast lub jeśli jest to odpowiedni czas na wykorzystanie kolumn obliczeniowych. Mam dostęp do tej tabeli dla różnych rzeczy i od czasu do czasu aktualizuję wiersz użytkowników na podstawie osiągnięć w zakresie wydajności. Data aplikacji nigdy się nie zmieni/nie zostanie zaktualizowana.Najważniejsze wskazówki dotyczące kolumny obliczeniowej na serwerze SQL
Moje pytanie brzmi: czy używanie wyliczonej kolumny jest dobrą praktyką w tej sytuacji, czy będzie przeliczać się za każdym razem, gdy aktualizuję ten wiersz (mimo że nie zamierzam aktualizować daty aplikacji)? Nie chcę tworzyć więcej narzutów, gdy aktualizuję wiersz w przyszłości.
Formula używam w definicji kolumny dla Kuratorów data zakończenia:
(dateadd(day,(-1),dateadd(month,(3),dateadd(day,(1)-datepart(day,[APP_DT]),[APP_DT]))))
są "datę join" i „Data złożenia (zawiadomienie użyłem nieco mniej convulted podejście do dostać się do końca miesiąca, za dwa miesiące się.) " to samo? Czy chcesz później móc aktualizować datę zakończenia próbnego niezależnie od innych kolumn daty? –
Czy polityka 2-miesięczna kiedykolwiek się zmieni? Czy może to być 1 lub 3 (lub inna wartość) w przyszłości? –
Tak, JoinDate/AppDate same (przepraszam, używam ich zamiennie). Nigdy nie zastąpię daty, ale do punktu marc_s, ponieważ nie zostanie ona zaktualizowana, uwzględnię to jako część skryptu wstawiania. Muszę to zindeksować, a bez tego, co trwa, to nie zadziała tak dobrze. Dzięki za szybką odpowiedź błyskawiczną! – Brian