Forskjellen mellom eksplisitt markør og implisitt markør

Forskjellen mellom eksplisitt markør og implisitt markør
Forskjellen mellom eksplisitt markør og implisitt markør

Video: Forskjellen mellom eksplisitt markør og implisitt markør

Video: Forskjellen mellom eksplisitt markør og implisitt markør
Video: Was Buying a Digital Only PS5 a Mistake? 2024, November
Anonim

Eksplisitt markør vs. implisitt markør

Når det gjelder databaser, er en markør en kontrollstruktur som gjør det mulig å krysse postene i en database. En markør gir en mekanisme for å tildele et navn til en SQL select-setning, og deretter kan den brukes til å manipulere informasjonen i den SQL-setningen. Implisitte markører opprettes automatisk og brukes hver gang en Select-setning utstedes i PL/SQL, når det ikke er noen eksplisitt definert markør. Eksplisitte markører, som navnet antyder, er definert eksplisitt av utvikleren. I PL/SQL er en eksplisitt markør faktisk en navngitt spørring definert ved hjelp av nøkkelordmarkøren.

Hva er implisitt markør?

Implisitte markører opprettes og brukes automatisk av Oracle hver gang en utvalgt setning utstedes. Hvis en implisitt markør brukes, vil Database Management System (DBMS) utføre åpne, hente og lukke operasjoner automatisk. Implisitte markører skal bare brukes med SQL-setninger som returnerer en enkelt rad. Hvis SQL-setningen returnerer mer enn én rad, vil bruk av en implisitt markør introdusere en feil. En implisitt markør assosieres automatisk med hver Data Manipulation Language (DML)-setninger, nemlig INSERT-, UPDATE- og DELETE-setninger. Dessuten brukes en implisitt markør til å behandle SELECT INTO-setninger. Når du henter data ved hjelp av implisitte markører, kan NO_DATA_FOUND-unntaket heves når SQL-setningen ikke returnerer data. Videre kan implisitte markører øke TOO_MANY_ROWS unntak når SQL-setningen returnerer mer enn én rad.

Hva er eksplisitt markør?

Som nevnt tidligere, er eksplisitte markører spørringer definert ved hjelp av et navn. En eksplisitt markør kan betraktes som en peker til et sett med poster, og pekeren kan flyttes fremover innenfor settet med poster. Eksplisitte markører gir brukeren full kontroll over åpning, lukking og henting av data. Flere rader kan også hentes ved hjelp av en eksplisitt markør. Eksplisitte markører kan også ta parametere akkurat som enhver funksjon eller prosedyre, slik at variablene i markøren kan endres hver gang den utføres. I tillegg lar eksplisitte markører deg hente en hel rad inn i en PL/SQL-postvariabel. Når du bruker en eksplisitt markør, må den først deklareres med et navn. Markørattributter kan nås ved å bruke navnet gitt til markøren. Etter deklarering, må markøren åpnes først. Da kan henting startes. Hvis flere rader må hentes, må henteoperasjonen gjøres inne i en løkke. Til slutt må markøren lukkes.

Forskjellen mellom eksplisitt markør og implisitt markør

Hovedforskjellen mellom den implisitte markøren og den eksplisitte markøren er at en eksplisitt markør må defineres eksplisitt ved å oppgi et navn, mens implisitte markører opprettes automatisk når du utsteder en select-setning. Videre kan flere rader hentes ved å bruke eksplisitte markører mens implisitte markører bare kan hente en enkelt rad. NO_DATA_FOUND og TOO_MANY_ROWS unntak oppheves heller ikke ved bruk av eksplisitte markører, i motsetning til implisitte markører. I hovedsak er implisitte markører mer sårbare for datafeil og gir mindre programmatisk kontroll enn eksplisitte markører. Implisitte markører anses også som mindre effektive enn eksplisitte markører.

Anbefalt: