SQL triggers zijn gedeelten van SQL- code die wordt uitgevoerd op een bepaalde gebeurtenis of wanneer de database staat overeenkomt met bepaalde voorwaarden . Hoewel de syntax voor het instellen en verwijderen triggers varieert enigszins over verschillende databasesystemen , triggers zijn gemeengoed in vrijwel elke grootschalige databank project . Database- ontwikkelaars vaak gebruik van SQL- triggers voor geautomatiseerde log of analytische functionaliteit , als ze kunnen worden geconfigureerd voor het maken of bijwerken van de database na een query wordt uitgevoerd . Oorzaken SQL triggers kunnen worden gewist handmatig , hetzij via een " DROP TRIGGER " statement of automatisch als een neveneffect van een andere SQL-query . Ontwikkelaars opzetten van een self- verwijderen trigger of een trigger die wist een andere trigger voor bepaalde omstandigheden . Deze trekker schrappingen veranderen de semantiek van de database op het gebied van analytische verwerking , vereisen zorgvuldige aandacht en toetsing door de database ontwikkelaar . U kunt ook triggers verwijderen als een neveneffect van een andere query , zoals webpagina processors , ervan uitgaande dat de query executeur machtigingen heeft triggers voor die database te veranderen . Effecten het verwijderen van een trigger is een normale functie van de databank , in het bijzonder bij het handmatig of automatisch gebeurt volgens een goed doordacht gegevensbestandplan . Wanneer een trigger deletie is onverwacht , maar de gevolgen van de database semantiek ernstig . Omdat triggers vaak inloggen of verzamelen databasestatistieken voor analytische gebruik, de verwijdering van deze logica leidt tot onvolledige logs of gebrekkige statistieken . Afhankelijk van hoeveel de organisatie is gebaseerd op de database , dit kan ravage Opsporing Helaas aanrichten op handelspraktijken of gewoon veroorzaken een ongemak voor de gebruikers van het systeem . , omdat SQL statements delete bent niet ingelogd standaard , is het zeer moeilijk om een verwijderde SQL trekker detecteren . Als de database is klein genoeg is , kunnen systeembeheerders meestal denk dat als een trigger is verwijderd . Zij doen dit door te kijken naar vermiste bijwerkingen van de trigger , bijvoorbeeld ontbrekende log entries . De SQL " SHOW TRIGGERS " commando stelt ontwikkelaars in staat om alle actieve triggers en de bijbehorende voorwaarden te bekijken in de database. Voor meer complexe database- systemen , houdt een strikte logboek van alle trekker operaties , vanwege hun vermogen om database- semantiek veranderen op onverwachte manieren . Preventie Database ontwikkeling best - praktijken helpen bij de bescherming van de semantiek van de gegevens uit onwetend veranderd door fouten of fouten in de database code . Om onverwachte semantische veranderingen , zoals SQL trekker verwijdering te voorkomen , mag trekker verklaringen niet bijwerken , invoegen of een andere trekker verwijderen . Behandel alle triggers handmatig door database- ontwikkelaars , het bijhouden zorgvuldige administratie van de bijbehorende veranderingen . Alle database- ontwikkelaars moeten zich bewust zijn van de trigger- operaties in de database , om verwarring te elimineren als een trigger wordt verwijderd .
|