Utløser vs Markører
I en database er en utløser en prosedyre (kodesegment) som utføres automatisk når noen spesifikke hendelser oppstår i en tabell / visning. Blant andre bruksområder brukes utløsere hovedsakelig for å opprettholde integritet i en database. En markør er en kontrollstruktur som brukes i databaser for å gå gjennom databasepostene. Det er veldig lik det iteratoren som tilbys av mange programmeringsspråk.
Hva er utløsere?
En utløser er en prosedyre (kodesegment) som utføres automatisk når noen spesifikke hendelser oppstår i en tabell / visning av en database. Blant andre bruksområder brukes utløsere hovedsakelig for å opprettholde integritet i en database. Utløsere brukes også til å håndheve forretningsregler, revisere endringer i databasen og replikere data. De vanligste utløserne er DML-triggere som aktiveres når data blir manipulert. Noen databasesystemer støtter ikke-data utløser, som utløses når data definisjon språk (DDL) hendelser oppstår. Noen eksempler er utløsere som avfyres når bord opprettes, under forpliktelser eller tilbakevirkningsoperasjoner oppstår, etc. Disse utløsere kan spesielt brukes til revisjon. Oracle database system støtter skjema nivå utløsere (dvs. utløsere sparket når databaseskjemaer er endret) som etter Creation, Before Alter, After Alter, Before Drop, After Drop, etc. De fire hovedtypene av utløsere støttet av Oracle er Row Level utløser, Kolonne nivå utløser, Hver rad Type utløser og For hver Statement Type utløser.
Hva er Markører?
En markør er en kontrollstruktur som brukes i databaser for å gå gjennom databasepostene. Det er veldig lik det iteratoren som tilbys av mange programmeringsspråk. I tillegg til å krysse gjennom poster i en database, gjør det også lettere å hente data, legge til og slette poster. Ved å definere den riktige måten, kan markører også brukes til å krysse bakover. Når en SQL-spørring returnerer et sett med rader, blir de faktisk behandlet ved hjelp av markører. En markør må deklareres og tildeles navn før det kan brukes. Deretter må markøren åpnes ved hjelp av OPEN-kommandoen. Denne operasjonen vil plassere markøren like før den første raden i resultatsettet av poster. Deretter må markøren utføre FETCH-operasjonen for å faktisk få en rekke data inn i applikasjonen. Endelig må markøren lukkes ved hjelp av CLOSE-operasjonen. Lukkede markører kan åpnes igjen.
Hva er forskjellen mellom utløsere og markører?
En utløser er en prosedyre (kodesegment) som utføres automatisk når noen spesifikke hendelser forekommer i en tabell / visning av en database, mens en markør er en kontrollstruktur som brukes i databaser for å gå gjennom databasepostene. En markør kan deklareres og brukes innenfor en trigger. I en slik situasjon vil deklarasjonen være inne i utløseren. Da vil omfanget av markøren være begrenset til den utløseren. Innen en utløser, hvis en markør blir erklært på en innsatt eller slettet tabell, ville en slik markør ikke være tilgjengelig fra en nestet utløser. Når en utløser er fullført, vil alle markørene som er opprettet i utløseren, bli allokert.