Computed column to tak zwana kolumna wyliczeniowa, której wartość powstaje na podstawie wartości w innych kolumnach. Taka wartość jest wyliczana za każdym razem, gdy o nią zapytamy. Można taką kolumnę utworzyć również z klauzulą PERSISTED, co oznacza, że kolumna zostanie zapisana na dysku. Zmiany będą do niej wprowadzane, w momencie zmian w kolumnach źródłowych. Oczywiście nie można tu wykorzystać funkcji niedeterministycznych jak np
getdate()
Natomiast można na takiej kolumnie już założyć indeks. Oto przykład:
create table sw.t_test(
id int identity,
kwota decimal(18,2),
kwotax2 as kwota*2,
kwotax3 as kwota*2 persisted)
|