MjernoMje_audit trigger

mail@pastecode.io avatar
unknown
sqlserver
2 years ago
1.2 kB
6
Indexable
Never
--Kreiranje audit tabele
--Ovo su otprilike kolone koje bi mogle biti mjenjane
CREATE TABLE [dbo].MjernoMje_audit
(
	   [IdMjernogMje] INT
      ,[IdNadrMjerMje] INT NULL
      ,[IdMjernogMjeZgr] INT NULL
      ,[IdCitackogHodMje] INT NULL
      ,[IdUlice] INT NULL
      ,[IdSektora] INT NULL
      ,[RedniBroCitHodMje] INT NULL
      ,[UlBroj] VARCHAR(10) NULL
      ,[Ulaz] VARCHAR(10) NULL
      ,[StanBr] VARCHAR(10) NULL
      ,[RedoslijedMM] INT NULL
      ,[KS] INT NULL
      ,[NasljedjujeAdrZgr] BIT NULL
	  ,[Vrsta_izmjene] VARCHAR(20) -- Vrsta izmene: INSERT, UPDATE ili DELETE. Nama ce uvijek biti UPDATE.
	  ,[TimeStamp] DATETIME
	  ,[Nalog_izmjene]  VARCHAR(30) 
	  ,[Stara vrijednost] VARCHAR(max) 
	  --...  I ostale kolone o kojim se vodi evidencija
)

--Kreiranje trigera za tabelu MjernoMje

CREATE TRIGGER [dbo].MernoMje_trigger

ON MjernoMje
AFTER  UPDATE
AS

--ID mjernog mjesta se obavezno vodi u audit tabeli
--Ostale dodati po potrebi
--Moguće testirati pojedinačna polja da li su i koja ažurirana
--I napraviti paralelne kolone sa prefixom '_old' recimo
DECLARE @IdMm AS INT
SELECT @IdMm = IdMjernogMje FROM UPDATED

INSERT INTO MjernoMje_audit (IdMjernogMje) VALUES (@IdMm)