Udløsere vs markører
I en database er en trigger en procedure (kodesegment), der udføres automatisk, når nogle specifikke hændelser forekommer i en tabel / visning. Blandt de andre anvendelser bruges udløsere hovedsageligt til at opretholde integritet i en database. En markør er en kontrolstruktur, der bruges i databaser til at gennemgå databaseposterne. Det ligner meget iteratoren, der leveres af mange programmeringssprog.
Hvad er udløsere?
En trigger er en procedure (kodesegment), der udføres automatisk, når nogle specifikke begivenheder forekommer i en tabel / visning af en database. Blandt de andre anvendelser bruges udløsere hovedsageligt til at opretholde integritet i en database. Udløsere bruges også til håndhævelse af forretningsregler, revision af ændringer i databasen og replikering af data. Mest almindelige udløsere er Data Manipulation Language (DML) udløsere, der udløses, når data manipuleres. Nogle databasesystemer understøtter ikke-datatriggere, der udløses, når DDL-hændelser (Data Definition Language) opstår. Nogle eksempler er udløsere, der affyres, når tabeller oprettes, under begivenheds- eller tilbagevendende operationer osv. Disse udløsere kan især bruges til revision. Oracle-databasesystem understøtter udløsere på skemaniveau (dvs.udløsere, der udløses, når databaseskemaer modificeres) såsom Efter oprettelse, Før Ændring, Efter Ændring, Før Drop, Efter slip osv. For hver erklæring type udløser.
Hvad er markører?
En markør er en kontrolstruktur, der bruges i databaser til at gennemgå databaseposterne. Det ligner meget iteratoren, der leveres af mange programmeringssprog. Ud over at krydse gennem poster i en database letter markører også datahentning, tilføjelse og sletning af poster. Ved at definere den korrekte måde kan markører også bruges til at krydse baglæns. Når en SQL-forespørgsel returnerer et sæt rækker, behandles de faktisk ved hjælp af markører. En markør skal erklæres og tildeles et navn, før den kan bruges. Derefter skal markøren åbnes ved hjælp af OPEN-kommandoen. Denne handling placerer 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 udløsere 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 gennemgå databaseposterne. En markør kan deklareres og bruges i en trigger. I en sådan situation ville erklæringen være inde i udløseren. Derefter ville markørens rækkevidde være begrænset til den udløser. Inden for en trigger, hvis en markør er erklæret på en indsat eller en slettet tabel, ville en sådan markør ikke være tilgængelig fra en indlejret trigger. Når en trigger er afsluttet, allokeres alle markørerne, der er oprettet i triggeren.