Forskel mellem triggere og markører

Udløsere mod markører

I en database er en trigger en procedure (kodesegment), der udføres automatisk, når nogle specifikke begivenheder forekommer i en tabel / visning. Blandt dens andre anvendelser bruges triggere hovedsageligt til at opretholde integritet i en database. En markør er en kontrolstruktur, der bruges i databaser til at gå gennem databaseposterne. Det ligner meget iteratoren fra mange programmeringssprog.

Hvad er triggere?

En trigger er en procedure (kodesegment), der udføres automatisk, når nogle specifikke begivenheder forekommer i en tabel / visning af en database. Blandt dens andre anvendelser bruges triggere hovedsageligt til at opretholde integritet i en database. Triggere bruges også til håndhævelse af forretningsregler, revision af ændringer i databasen og gentagelse af data. Mest almindelige triggere er Data Manipulation Language (DML) triggere, der udløses, når data manipuleres. Nogle databasesystemer understøtter ikke-datatriggere, som udløses, når Data Definition Language (DDL) begivenheder opstår. Nogle eksempler er udløsere, der fyres, når der oprettes tabeller, under udførelse eller tilbageførsel, osv. Disse triggere kan især bruges til revision. Oracle-databasesystem understøtter udløsere af skemaniveauer (dvs. udløses triggers, når databaseskemaer ændres) såsom After Creation, Before Alter, After Alter, Before Drop, After Drop osv. De fire hovedtyper af triggere, der understøttes af Oracle, er Row Level-triggere, Kolumnniveau-triggere, hver rækketypetrigger og for hver sætningstypetrigger.

Hvad er markører?

En markør er en kontrolstruktur, der bruges i databaser til at gå gennem databaseposterne. Det ligner meget iteratoren fra mange programmeringssprog. Ud over at gennemse poster i en database letter markører også dataindhentning, tilføjelse og sletning af poster. Ved at definere den rigtige måde kan cursorer også bruges til at krydse baglæns. Når en SQL-forespørgsel returnerer et sæt rækker, behandles disse faktisk ved hjælp af markører. En markør skal deklareres og tildeles et navn, før den kunne bruges. Derefter skal markøren åbnes ved hjælp af OPEN-kommandoen. Denne handling vil placere markøren lige før den første række i resultatsættet med poster. Derefter skal markøren udføre FETCH-operationen for faktisk at få en række data ind i applikationen. Endelig skal markøren lukkes ved hjælp af CLOSE-operationen. Lukkede markører kan åbnes igen.

Hvad er forskellen mellem triggere og markører?

En trigger er en procedure (kodesegment), der udføres automatisk, når nogle specifikke begivenheder forekommer i en tabel / visning af en database, mens en markør er en kontrolstruktur, der bruges i databaser til at gå gennem databaseposterne. En markør kan deklareres og bruges i en trigger. I en sådan situation ville erklæringserklæringen være inden for udløseren. Derefter vil markørens omfang være begrænset til den trigger. Inden for en trigger, hvis en markør deklareres på en indsat eller en slettet tabel, er en sådan markør ikke tilgængelig fra en indlejret trigger. Når en trigger er afsluttet, vil alle markører, der er oprettet inden for triggeren, blive allokeret.