Verschil tussen triggers en cursors

Anonim

Triggers vs Cursors

In een database is een trigger een procedure (code segment) dat automatisch wordt uitgevoerd wanneer bepaalde gebeurtenissen in een tabel / weergave voorkomen. Onder zijn andere toepassingen worden triggers voornamelijk gebruikt voor het behoud van integriteit in een database. Een cursor is een besturingsstructuur die in databases wordt gebruikt om door de database records te gaan. Het lijkt erg op de iterator die door veel programmeertalen wordt geleverd.

Wat zijn Triggers?

Een trigger is een procedure (code segment) dat automatisch wordt uitgevoerd wanneer bepaalde gebeurtenissen voorkomen in een tabel / weergave van een database. Onder zijn andere toepassingen worden triggers voornamelijk gebruikt voor het behoud van integriteit in een database. Triggers worden ook gebruikt voor het handhaven van bedrijfsregels, het controleren van wijzigingen in de database en replicerende data. Meest voorkomende triggers zijn Data Manipulation Language (DML) triggers die worden geactiveerd wanneer gegevens worden gemanipuleerd. Sommige databasesystemen ondersteunen non-data triggers, die worden geactiveerd wanneer Data Definition Language (DDL) gebeurtenissen optreden. Enkele voorbeelden zijn triggers die worden ontslagen wanneer tabellen worden gemaakt, tijdens commit of rollback operaties optreden, enz. Deze triggers kunnen speciaal gebruikt worden voor auditing. Oracle database systeem ondersteunt schema niveau triggers (dwz triggers ontslagen wanneer database schema's zijn aangepast) zoals Na Creation, Before Alter, After Alter, Before Drop, After Drop, enz. De vier hoofdtypes triggers ondersteund door Oracle zijn Row Level triggers, Kolomniveau triggers, Elke rijtype triggers en voor elke triggers van de Stellings Type.

Wat zijn cursors?

Een cursor is een besturingsstructuur die in databases wordt gebruikt om door de database records te gaan. Het lijkt erg op de iterator die door veel programmeertalen wordt geleverd. Naast het doorverwijzen van records in een database, kunnen cursors ook gegevensherhalen vergemakkelijken, records toevoegen en verwijderen. Door de juiste manier te definiëren, kunnen cursors ook achteruit worden gekruist. Wanneer een SQL-query een reeks rijen geeft, worden deze daadwerkelijk verwerkt met cursors. Een cursor moet worden verklaard en een naam toegewezen, voordat het kan worden gebruikt. Dan moet de cursor geopend worden met het OPEN commando. Deze bewerking plaatst de cursor vlak voor de eerste rij van de resultaatreeks records. Dan moet de cursor de FETCH-operatie uitvoeren om daadwerkelijk een rij gegevens in de applicatie te krijgen. Ten slotte moet de cursor afgesloten worden met de CLOSE-werking. Gesloten cursors kunnen opnieuw geopend worden.

Wat is het verschil tussen Triggers en Cursors?

Een trigger is een procedure (code segment) dat automatisch wordt uitgevoerd wanneer bepaalde gebeurtenissen voorkomen in een tabel / weergave van een database, terwijl een cursor een controle structuur is die in databases wordt gebruikt om door de database records te gaan.Een cursor kan worden verklaard en gebruikt binnen een trigger. In een dergelijke situatie zou de verklaringsverklaring binnen de trigger staan. Dan is het bereik van de cursor beperkt tot die trigger. Binnen een trigger, als een cursor wordt verklaard op een ingevoegde of een verwijderde tabel, zou een dergelijke cursor niet toegankelijk zijn van een geneste trigger. Zodra een trigger is voltooid, worden alle cursors die in de trigger zijn gemaakt gedeactiveerd.