Recent Posts

Archives

Categories

Meta

Változások kezelése a rowversion típussal

A legegyszerűbb módja a változások kezelésére az, ha az adott táblákra felveszünk egy rowversion típusú oszlopot.

CREATE TABLE states
  (
     id CHAR(2),
     name VARCHAR(90),
     rv ROWVERSION
  );

A nagy előny, hogy Insert vagy Update parancsra az oszlop értéke változik, nem kell hozzá trigger. Az aktuális értéket a teljes DB-re vonatkozóan a @@DBTS változó tartalmazza. Ha a változások lekezelése után ezt az értéket el akarjuk tárolni, akkor azt egy BINARY(8) típusú mezőbe tehetjük meg, ugyanis ROWVERSION típusú oszlopot nem módosíthatunk, csak lekérdezhetjük. Természetesen nem vetekszik a ChangeTracking technológiával, de pár tábla módosulásának kezelését képesek vagyunk ezzel is kezelni. A törléseket ez a technika nem tudja nyomon követni.