inleiding
Vandaag zal ik het gebruik van triggers uitwerken, hoewel het over het algemeen niet wordt aanbevolen om triggers in projecten te gebruiken, maar we moeten het gebruik van triggers nog steeds begrijpen.
Sms
Gebruik van triggers. Bereid vandaag de tafel voor die je wilt gebruiken. Maak een NewTest-tabel en een NewTest_log-tabel aan
#Triggers
Het is een speciale opgeslagen procedure, niet op zichzelf aangeroepen, maar automatisch aangeraakt door een bepaalde handeling uit te voeren, zoals een gebeurtenis. Gebruik: Acties monitoren en beperkingen aanvullen. In de inleiding wordt vermeld dat triggers over het algemeen niet worden aanbevolen voor prestaties en onderhoud. In daadwerkelijke projecten is het over het algemeen niet gemakkelijk om de trigger te herkennen, wat bepaalde moeilijkheden met zich meebrengt bij latere onderhoudsprocessen.
Al onze bewerkingen op de tabelgegevens worden tijdelijk opgeslagen in deze twee tabellen,"Ingevoegd”,“verwijderd”。 We kunnen deze twee tijdelijke tabellen gebruiken om wat data vast te leggen, of om het bedrijf te beperken en aan te passen.
Laten we een trigger maken voor de NewTest-tabel:
Na het aanmaken van deze trigger verwijderen we de tabelgegevens."verwijder van ADB.. NewTest", en vervolgens een vraag "selecteer * uit ADB.. NewTestEr werd vastgesteld dat de gegevens in deze tabel niet waren verwijderd. Het is vanwege de trigger die we hebben gemaakt dat wanneer de tabelgegevens worden verwijderd, de instructie van het toevoegen van nieuwe data wordt geactiveerd. We kunnen triggers gebruiken om wijzigingen in tabelgegevens te monitoren en relevante logs vast te leggen.
Maak een trigger aan voor de NewTest-tabel, en zodra er nieuwe data is toegevoegd, loggen we die gegevens in de relevante logtabel:
Voer nieuwe statements uit"INSERT [dbo]. [NewTest] ([Naam], [Leeftijd], [Geslacht], [Bedrag]) WAARDEN (N'Xiaohuang', 18, N'm', 20)We zijn binnenNewTest_log"De tabel genereert ook een record dat de bewerkingstijd, het type operatie en de landingspersoon, enzovoort registreert.
Hoe beoordelen we in de trigger dat de data is verwijderd, aangepast en toegevoegd aan de operatie? Ik moet nog steeds naar de twee tijdelijke tabellen "ingevoegd" en "verwijderd" kijken.
Nieuwe bewerking: Er staat data in de ingevoegde tabel, maar er is geen data in de verwijderde tabel. Verwijderingsoperatie: Er is geen data in de ingevoegde tabel, en er staat data in de verwijderde tabel. Wijzig de bewerking: Er staat data in de ingevoegde tabel (nieuwe data), en er is data in de verwijderde tabel (oude data).
We kunnen de gegevens in deze twee tijdelijke tabellen gebruiken om de overeenkomstige bewerkingen te beoordelen en vervolgens onze bijbehorende bedrijfsbewerkingen uitvoeren
Epiloog
Cuties, de basis van de database is ten einde gekomen, en het volgende deel zal vastleggen hoe je de data herstelt na per ongeluk verwijderd en aangepast.
|