|
|
Publicerad på 2019-03-24 21:20:05
|
|
|

förord
Idag ska jag reda ut användningen av triggers, även om det generellt inte rekommenderas att använda triggers i projekt, men vi behöver ändå förstå användningen av triggers.
SMS
Användning av triggers. Förbered bordet du vill använda idag. Skapa en NewTest-tabell och en NewTest_log-tabell
#Utlösare
Det är en speciell lagrad procedur, som inte anropas av sig själv, utan automatiskt berörs genom att utföra en viss operation, som en händelse. Användning: Övervaka åtgärder och komplettera begränsningar. I introduktionen nämns att triggers generellt inte rekommenderas för prestanda och underhåll. I faktiska projekt är det generellt inte lätt att upptäcka utlösaren, vilket kan leda till vissa svårigheter vid senare underhåll.
Alla våra operationer på tabelldata lagras tillfälligt i dessa två tabeller,"Insatt”,“borttagen”。 Vi kan använda dessa två tillfälliga tabeller för att registrera viss data, eller för att begränsa och modifiera verksamheten.
Låt oss skapa en trigger för NewTest-tabellen:
Efter att ha skapat denna trigger, låt oss radera tabelldatan "radera från ADB.. NewTest", och sedan fråga "välj * från ADB.. NewTestDet visade sig att datan i denna tabell inte raderades. Det är på grund av den trigger vi skapade som när tabelldata tas bort, triggas uttalandet om att lägga till ny data. Vi kan använda triggers för att övervaka förändringar i tabelldata och registrera relevanta loggar.
Skapa en trigger för NewTest-tabellen, och när ny data läggs till loggar vi den i relevant loggtabell:
Kör nya satser"INSERT [dbo]. [NewTest] ([Namn], [Ålder], [Kön], [Belopp]) VÄRDERINGAR (N'Xiaohuang', 18, N'm', 20)Vi kommer att vara inneNewTest_log"Tabellen genererar också en post som registrerar operationstid, operationstyp och landningsperson etc.
Så hur bedömer vi i triggern att datan har raderats, ändrats och lagts till i operationen? Jag måste fortfarande titta på de två tillfälliga tabellerna "infogad" och "raderad".
Ny operation: Det finns data i den insatta tabellen, men ingen data i den borttagna tabellen. Borttagningsoperation: Det finns ingen data i den insatta tabellen, och det finns data i den borttagna tabellen. Modifiera operationen: Det finns data i den infogade tabellen (ny data), och det finns data i den borttagna tabellen (gammal data).
Vi kan använda datan i dessa två tillfälliga tabeller för att bedöma motsvarande operationer och sedan utföra våra motsvarande affärsoperationer
Epilog
Cuties, databasens grund har tagit slut, och nästa del kommer att dokumentera hur man återställer data efter att ha raderats och ändrats av misstag.
|
Föregående:Automatisk inmatning med handtag kan inte klickas för att bekräfta operationenNästa:200 böcker såsom Java-e-böcker och intervjufrågor
|