przedmowa
Dziś omówię użycie wyzwalaczy, choć zazwyczaj nie zaleca się ich stosowania w projektach, ale wciąż musimy zrozumieć, jak je używają.
Tekst
Wykorzystanie wyzwalaczy. Przygotuj stół, którego chcesz dziś użyć. Stwórz tabelę NewTest oraz tabelę NewTest_log
#Wyzwalacze
Jest to specjalna procedura przechowywana, nie wywoływana samodzielnie, lecz automatycznie zmieniana przez wykonanie określonej operacji, takiej jak zdarzenie. Zastosowanie: Monitorowanie działań i uzupełnianie ograniczeń. We wstępie wspomniano, że spusty zazwyczaj nie są zalecane dla wydajności i konserwacji. W rzeczywistych projektach zazwyczaj trudno zauważyć wyzwalacz, co może powodować pewne trudności w późniejszym utrzymaniu.
Wszystkie nasze operacje dotyczące danych tabel są tymczasowo przechowywane w tych dwóch tabelach,"Wstawiona”,“usunięte”。 Możemy użyć tych dwóch tymczasowych tabel do zapisywania niektórych danych lub do ograniczania i modyfikowania biznesu.
Stwórzmy wyzwalacz dla tabeli NewTest:
Po utworzeniu tego wyzwalacza usuńmy dane tabeli "usuń z ADB.. NewTest", a następnie zapytanie "wybierz * z ADB.. NewTestOkazało się, że dane zawarte w tej tabeli nie zostały usunięte. To właśnie dzięki wyzwalaczowi, który stworzyliśmy, gdy dane tabeli zostaną usunięte, wywoła się to zadanie dodawania nowych danych. Możemy używać wyzwalaczy do monitorowania zmian w danych tabelowych i zapisywania odpowiednich logów.
Tworzymy wyzwalacz dla tabeli NewTest, a po dodaniu nowych danych logujemy je do odpowiedniej tabeli logu:
Wykonuj nowe instrukcje"WSTAW [dbo]. [NewTest] ([Imię], [Wiek], [Płeć], [Ilość]) WARTOŚCI (N'Xiaohuang', 18, N'm', 20)Będziemy w środkuNewTest_log"Tabela generuje również rekord, który rejestruje czas operacji, typ operacji, osobę lądującą itd.
Jak więc ocenić w wyzwalaczu, że dane zostały usunięte, zmodyfikowane i dodane do operacji? Wciąż muszę spojrzeć na dwie tymczasowe tabele "wstawione" i "usunięte"
Nowa operacja: W wstawionej tabeli są dane, ale w usuniętej tabeli nie ma danych. Operacja usuwania: W wstawionej tabeli nie ma danych, a dane są w usuniętej tabeli. Modyfikacja operacji: W wstawionej tabeli są dane (nowe dane), a dane są w usuniętej tabeli (stare dane).
Możemy wykorzystać dane z tych dwóch tabel tymczasowych do oceny odpowiadających im operacji, a następnie wykonać odpowiednie operacje biznesowe
Epilog
Cuties, fundament bazy dobiegł końca, a następna część będzie opisywać, jak przywrócić dane po pomyłkowym usunięciu i modyfikacji.
|