Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

History tablica za promjene preko triggera

[es] :: MS SQL :: History tablica za promjene preko triggera

[ Pregleda: 1291 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sule99
student

Član broj: 227708
Poruke: 93
*.adsl.net.t-com.hr.



+1 Profil

icon History tablica za promjene preko triggera14.06.2011. u 15:14 - pre 156 meseci
Imam tablicu od nekih 150 kolona (ne pitajte zašto, obrazac je nekakav i tako mora da bude). Administrator ima mogućnost mjenjati podatke iz spomenute tablice. Ja bih napravio trigger koji bi hvatao DELETE i UPDATE nad tom tablicom i stare vrijednosti bi spremao u neku history tablicu (to bi napravio sa deleted i inserted naredbama).

Sada trebam vašu pomoć.

Update i brisanje podataka su rijetki pa ne bi kreirao istu tablicu kao i originalnu (sa 150 kolona). Nad history podacima neće biti pretraživanja!

Zanima me kako bi vi to najbolje riješili? Kako bi izgledala ta history tablica, a da bude jednostavna?

radi se o SQL 2005...
 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.dynamic.sbb.rs.



+395 Profil

icon Re: History tablica za promjene preko triggera14.06.2011. u 15:51 - pre 156 meseci
Najbolja bi bila varijanta da kroz triger dobijes informaciju koje polje je apdejtovano
i da staru vrednost upises u tabelu sa poljima (ime_polja (varchar) , vrednost(varchar) , datum_izmene(datetime) , user(varchar) , akcija (brisanje ili update) ).
Ako se pak radi o deletu onda sva polja obrisanog rekorda upises u tu tabelu sa flagom akcija = 'brisanje' .


Viva lollapalooza
 
Odgovor na temu

nadavesela
programer, DZS

Član broj: 199298
Poruke: 93
195.26.131.*



+3 Profil

icon Re: History tablica za promjene preko triggera15.06.2011. u 09:49 - pre 156 meseci
kao dopuna, osim polja koje je promenjeno, bitno je evidentirati i koji red je promenjen (ili zapisati primarni kljuc reda cije se kolone menjaju)
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: History tablica za promjene preko triggera15.06.2011. u 16:06 - pre 156 meseci
MOzda ovo pomogne: http://www.nigelrivett.net/SQL...s/GenerateTriggerForAudit.html

Imas nekoliko varijanti trigera koji prati promene na nivou kolone, pa prouci i izaberi ako ti odgovara. Sto je najlepse, trigeri su genericki i rade sa bilo kojom tabelom, bez velikog podesavanja. Tek toliko da ti ustedi vreme na proveri koja se kolona od tvojih 150 kolona promenila.

 
Odgovor na temu

deerbeer
Beograd

Član broj: 174418
Poruke: 1189
*.dynamic.sbb.rs.



+395 Profil

icon Re: History tablica za promjene preko triggera15.06.2011. u 16:33 - pre 156 meseci
Plus, ako ide pesackom logikom IF UPDATED(kolona) komanda nece uvek raditi 100% tacno. Update je mozda uradjen ali to ne znaci da je polje promenilo vrednost .

Viva lollapalooza
 
Odgovor na temu

sule99
student

Član broj: 227708
Poruke: 93
*.adsl.net.t-com.hr.



+1 Profil

icon Re: History tablica za promjene preko triggera16.06.2011. u 07:13 - pre 156 meseci
Hvala svima na odgovorima, bit će mi od velike pomoći ;)
 
Odgovor na temu

[es] :: MS SQL :: History tablica za promjene preko triggera

[ Pregleda: 1291 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.