Päästikprotsess

Päästikprotsess

Andmebaasides saab toiminguid ka automaatselt tööle panna. Näiteks kui soovitakse mõningates tabelites toimunud muutused soovitud kohtadesse kokku logisse lugeda.

[crayon-68109aaa82cb1399686061/]

SQL 2005 võimaldab luua päästikuid ka DDL käskudele e. CREATE, ALTER ja DROP käskudele!

Loomine TRIGGERI LISAMINE

Järgnev päästik kannab iga linnade tabelis toimunud muutuse kohta teate logitabelisse. Salapärane nimi “inserted” tähendab päästiku sees kasutatavat ajutist tabelit, mille kaudu saab kätte lisatud rea. Selle ajutise inserted-tabeli tulpade nimed ja tüübid on samad kui tegelikul tabelil, millega muutus toimus – siinjuhul tabel nimega linnad. Siin küsitakse linnanimi kõigepealt eraldi muutujasse, et seda oleks mugavam päästiku raames toimuva lisamise juures kasutada.

[crayon-68109aaa82cb6897812546/]
Käivitus

Kui juhtutakse linnade tabelisse andmeid lisama, siis näen kahel korral teateid, et “ühele reale mõjus muutus”. Üks teade on siis algse lisamise kohta ning teine teade päästiku abil toimunud logikande kohta.

[crayon-68109aaa82cb8808797713/]

Nõnda iga muutuse korral.

[crayon-68109aaa82cba317449696/]

Ja kui edasi minna ja vaadata, mis logisse kirjutatud, siis on teated ilusti näha. Mitmes sündmus, millal, mida tehti ja millise linnaga on tegemist.

[crayon-68109aaa82cbc658819240/]

SELECT * FROM Linnad

Edasijõudnutele 44
Pikemad päringud 44
Keerukamad seosed tabelite vahel 57
Alampäringud 66
Lisavõimalused

Triggerid SQL Server

TABEL linnad:

[crayon-68109aaa82cbd222049489/]

TABEL logiI:

[crayon-68109aaa82cbf737137326/]

TRIGGERI LISAMINE:

[crayon-68109aaa82cc1840740137/]

Kontrollimiseks:

[crayon-68109aaa82cc3387486598/]

Triggeri sisu muutmine:

[crayon-68109aaa82cc5914624934/]

Kontrollimiseks:

[crayon-68109aaa82cc6012911530/]

Trigger, mis jälgib andmete uuendamine tabelis linnad

[crayon-68109aaa82cc8629010972/]

Kontrollimiseks:

[crayon-68109aaa82cca528886970/]