PDA

Prikaži potpunu verziju : Trigger


catwoman
22.7.2010, 8:27
:n_klanja::(Koristimo SQL server 2000,posto je neophodno u visekorisnickom radu maksinalno obezbediti bazu podataka. Od velikog znacaja bi nam bilo kada bi neko mogao da mi preporuci ili predoci prednosti i mane koriscenja trigera ISERT, DELETE, UPDATE u bazi podataka. Osnovni cilj je bezbednost i koriscenje transakcija (ROLLBACK i COMMIT).

P.S. Moje pitanje je verovatno konfuzno, poenta je ('Da li koristiti trigere ili ne?').
Unapred hvala

irreal
22.7.2010, 8:49
Ukoliko su vam trigeri potrebni, svakako da treba da ih koristite.

medjutim, triger nema puno veze sa bezbednoscu baze, transakcijama i rollback-om.

transakcije su nesto sto treba da se implementira u softeru koji se kaci na bazu (da kreira transakciju pre nego sto krene u obradu podataka, pa onda ako je sve ok, commituje transakciju na kraju, ako nesto usput pukne i softer ne zna kako da se iscupa, uradi rollback i prijavi da nije uspeo da obavi zadatak iz x y razloga)

trigeri se koriste za nesto sasvim drugo!
trigeri su blokovi sql koda koji se izvrsavaju kada se nesto dogodi.

kao sto ti i rece, triger moze da se aktivira insert-om, update-om, delete-om, na nekoj tabeli.

oni se koriste kao zgodan nacin za implementiranje neke logike u bazi.

evo, lupicu jedan primer. recimo zelis da svaki put kada se doda novi artikal u bazu, da se automatski doda novi upis u cenovnik ili da se kreira nova lokacija u skladistu.

napravices trigger na insert u tabeli artikli, i tu ces izvrsiti neki sql kod koji unosi taj artikal u cenovnik ili u skladiste.

ili mozda zelis da preracunavas neki materialized view svaki put kada se promeni tabela iz koje se vuku podaci.

gomila slucajeva ima kada mozda zelis da koristis trigger, ali ni jedan neme veze sa integritetom baze i podataka u njoj.

-EDIT-
Evo, nasao sam clanak koji se bavi bas triggerima u MS SQL 2000 bazi.
mozda ce ti pojasniti malo materiju: http://www.devarticles.com/c/a/SQL-Server/Using-Triggers-In-MS-SQL-Server/