Wat is het verschil tussen voor en na trigger in MySQL?

Inhoudsopgave:

Anonim

De grootste verschil tussen Before en After trigger in MySQL is dat Voordat trigger een actie uitvoert voordat een bepaalde bewerking op de tafel wordt uitgevoerd, terwijl After trigger een actie uitvoert nadat een bepaalde bewerking op de tafel is uitgevoerd.

MySQL is een populair DBMS waarmee gebruikers eenvoudig gegevens in relationele databases kunnen ophalen en beheren. Het slaat gegevens op in tabelvorm. De gebruiker kan verschillende bewerkingen op gegevens uitvoeren met behulp van Structured Query Language (SQL). Terwijl Trigger een winkelprogramma is dat automatisch wordt uitgevoerd of geactiveerd wanneer een soort gebeurtenis plaatsvindt. De reactie op de trigger is afhankelijk van het triggertype.

Na trigger, voor trigger, MySQL

Wat is een trigger in MySQL

Een trigger is een reeks acties die reageren op een bewerking zoals een invoeg-, update- of verwijderbewerking op een specifieke tabel. De trigger wordt geactiveerd wanneer een SQL-bewerking wordt uitgevoerd. Bovendien is het mogelijk om triggers te creëren met behulp van referentiële beperkingen en controlebeperkingen die het toepassen van regels voor gegevensintegriteit mogelijk maken. Bovendien helpt trigger om andere tabellen bij te werken. Het genereert of converteert ook automatisch waarden voor ingevoegde of bijgewerkte records of voert taken uit zoals het afgeven van waarschuwingen.

Wat is er vóór trigger in MySQL

Vóór trigger is een trigger die wordt uitgevoerd vóór een bewerking zoals invoegen, bijwerken, verwijderen. De gebruiker kan deze triggers in meerdere gevallen schrijven. Ze helpen bij het controleren of wijzigen van waarden voordat gegevens worden bijgewerkt of in de database worden ingevoegd. Het is ook mogelijk om andere niet-databasebewerkingen uit te voeren die zijn gecodeerd in door de gebruiker gedefinieerde functies.

Een voorbeeld van een trigger voor het invoegen is als volgt.

CREATE TRIGGER trigger_name

VOOR HET INVOEGEN

ON table_name VOOR ELKE RIJ

BEGINNEN

- variabele declaraties

- triggercode

EINDE;

De trigger_name wordt gebruikt om de trigger te identificeren. Het is de naam van de trigger die moet worden gemaakt. De instructie "BEFORE INSERT" geeft aan dat de trigger wordt geactiveerd voordat de invoegbewerking wordt uitgevoerd. De table_name geeft de naam aan van de tabel waarop de trigger is gemaakt. Deze triggers werken de nieuwe waarden bij. Oude waarden in de tabel blijven hetzelfde.

Wat is After Trigger in MySQL

Na trigger is een trigger die wordt uitgevoerd na een bewerking zoals invoegen, bijwerken, verwijderen. De gebruiker kan deze triggers in meerdere gevallen schrijven. Hij kan ze gebruiken om gegevens in tabellen bij te werken. Hij kan het ook gebruiken om niet-databasebewerkingen uit te voeren die zijn gecodeerd in door de gebruiker gedefinieerde functies.

Een voorbeeld van een trigger na invoegbewerking is als volgt.

CREATE TRIGGER trigger_name

NA INVOEGEN

ON table_name VOOR ELKE RIJ

BEGINNEN

- variabele declaraties

- triggercode

EINDE;

De trigger_name wordt gebruikt om de trigger te identificeren. Het is de naam van de trigger die moet worden gemaakt. De instructie "AFTER INSERT" geeft aan dat de trigger wordt geactiveerd na het uitvoeren van de invoegbewerking. De table_name geeft de naam aan van de tabel waarop de trigger is gemaakt. Deze triggers werken de nieuwe waarden bij. Oude waarden blijven hetzelfde.

Verschil tussen voor en na trigger in MySQL

Definitie

Before Trigger is een type trigger dat automatisch wordt uitgevoerd voordat een bepaalde bewerking op de tafel plaatsvindt. After trigger daarentegen is een type trigger dat automatisch wordt uitgevoerd nadat een bepaalde bewerking op de tafel plaatsvindt. Daarom verklaren deze definities het fundamentele verschil tussen voor en na trigger in MySQL.

Gebruik

Gewoonlijk is het gebruik van Before-triggers om validatie uit te voeren voordat gegevens in de tabel worden geaccepteerd en om de waarden te controleren voordat ze uit de tabel worden verwijderd. Maar meestal is het gebruik van After-triggers om gegevens in een tabel bij te werken vanwege een opgetreden wijziging. Daarom is het belangrijkste verschil tussen voor en na trigger in MySQL waar we ze gebruiken.

Voorbeeld

In een banktoepassing helpt vóór trigger om de waarden te controleren voordat ze worden verwijderd, terwijl na trigger helpt om het saldo in de rekeningentabel bij te werken.

Conclusie

Het belangrijkste verschil tussen voor en na trigger in MySQL is dat Before trigger een actie uitvoert voordat een bepaalde bewerking op de tafel wordt uitgevoerd, terwijl After trigger een actie uitvoert nadat een bepaalde bewerking op de tafel is uitgevoerd.

Verwijzing:

1. "Typen triggers", IBM Knowledge Center, hier beschikbaar.2. "MySQL: BEFORE INSERT Trigger", Tech op het net, hier beschikbaar.3. "NA INSERT Trigger", Tech op het net, hier beschikbaar.

Afbeelding met dank aan:

1. "Database-mysql" door RRZEicons - Eigen werk (CC BY-SA 3.0) via Commons Wikimedia

Wat is het verschil tussen voor en na trigger in MySQL?