Verschil tussen triggers en cursors

Verschil tussen triggers en cursors
Verschil tussen triggers en cursors

Video: Verschil tussen triggers en cursors

Video: Verschil tussen triggers en cursors
Video: Facebook Page VS Profile | Facebook Marketing in 2021 2024, November
Anonim

Triggers versus cursors

In een database is een trigger een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/view. Naast andere toepassingen worden triggers voornamelijk gebruikt voor het handhaven van de integriteit in een database. Een cursor is een besturingsstructuur die in databases wordt gebruikt om door de databaserecords te gaan. Het lijkt erg op de iterator die door veel programmeertalen wordt geboden.

Wat zijn triggers?

Een trigger is een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/weergave van een database. Naast andere toepassingen worden triggers voornamelijk gebruikt voor het handhaven van de integriteit in een database. Triggers worden ook gebruikt voor het afdwingen van bedrijfsregels, het controleren van wijzigingen in de database en het repliceren van gegevens. De meest voorkomende triggers zijn Data Manipulation Language (DML)-triggers die worden geactiveerd wanneer gegevens worden gemanipuleerd. Sommige databasesystemen ondersteunen niet-gegevenstriggers, die worden geactiveerd wanneer DDL-gebeurtenissen (Data Definition Language) plaatsvinden. Enkele voorbeelden zijn triggers die worden geactiveerd wanneer tabellen worden gemaakt, tijdens commit- of rollback-bewerkingen, enz. Deze triggers kunnen met name worden gebruikt voor auditing. Oracle-databasesysteem ondersteunt triggers op schemaniveau (d.w.z. triggers die worden geactiveerd wanneer databaseschema's worden gewijzigd) zoals After Creation, Before Alter, After Alter, Before Drop, After Drop, enz. De vier belangrijkste typen triggers die door Oracle worden ondersteund, zijn triggers op rijniveau, Triggers op kolomniveau, triggers voor elk rijtype en triggers voor elk instructietype.

Wat zijn cursors?

Een cursor is een besturingsstructuur die in databases wordt gebruikt om door de databaserecords te gaan. Het lijkt erg op de iterator die door veel programmeertalen wordt geboden. Naast het doorlopen van records in een database, vergemakkelijken cursors ook het ophalen van gegevens, het toevoegen en verwijderen van records. Door de juiste manier te definiëren, kunnen cursors ook worden gebruikt om achteruit te navigeren. Wanneer een SQL-query een reeks rijen retourneert, worden deze feitelijk verwerkt met behulp van cursors. Een cursor moet worden gedeclareerd en een naam krijgen voordat deze kan worden gebruikt. Vervolgens moet de cursor worden geopend met het OPEN-commando. Deze bewerking zou de cursor net voor de eerste rij van de resultatenset met records plaatsen. Vervolgens moet de cursor de FETCH-bewerking uitvoeren om daadwerkelijk een rij gegevens in de toepassing te krijgen. Ten slotte moet de cursor worden gesloten met de CLOSE-bewerking. Gesloten cursors kunnen weer worden geopend.

Wat is het verschil tussen triggers en cursors?

Een trigger is een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/weergave van een database, terwijl een cursor een besturingsstructuur is die in databases wordt gebruikt om door de databaserecords te gaan. Een cursor kan binnen een trigger worden gedeclareerd en gebruikt. In een dergelijke situatie zou de verklaring verklaring binnen de trigger zijn. Dan zou het bereik van de cursor beperkt zijn tot die trigger. Als binnen een trigger een cursor wordt gedeclareerd op een ingevoegde of verwijderde tabel, is een dergelijke cursor niet toegankelijk via een geneste trigger. Zodra een trigger is voltooid, worden alle cursors die binnen de trigger zijn gemaakt, ongedaan gemaakt.

Aanbevolen: