Forskellen Mellem Eksplicit Markør Og Implicit Markør

Forskellen Mellem Eksplicit Markør Og Implicit Markør
Forskellen Mellem Eksplicit Markør Og Implicit Markør

Video: Forskellen Mellem Eksplicit Markør Og Implicit Markør

Video: Forskellen Mellem Eksplicit Markør Og Implicit Markør
Video: Explicit vs. Implicit 2024, Kan
Anonim

Eksplicit markør vs Implicit markør

Når det kommer til databaser, er en markør en kontrolstruktur, der gør det muligt at krydse over posterne i en database. En markør giver en mekanisme til at tildele et navn til en SQL select-sætning, og derefter kan den bruges til at manipulere oplysningerne inden for denne SQL-sætning. Implicitte markører oprettes automatisk og bruges hver gang en Select-erklæring udstedes i PL / SQL, når der ikke er nogen eksplicit defineret markør. Eksplicitte markører, som navnet antyder, defineres eksplicit af udvikleren. I PL / SQL er en eksplicit markør faktisk en navngivet forespørgsel defineret ved hjælp af nøgleordmarkøren.

Hvad er implicit markør?

Implicitte markører oprettes automatisk og bruges af Oracle, hver gang der udstedes en udvalgt erklæring. Hvis der bruges en implicit markør, udfører DBMS (Database Management System) automatisk åbningen, hentningen og lukningen. Implicitte markører bør kun bruges med SQL-sætninger, der returnerer en enkelt række. Hvis SQL-sætningen returnerer mere end en række, vil der ved brug af en implicit markør blive introduceret en fejl. En implicit markør er automatisk forbundet med hver DML-sætning (Data Manipulation Language), nemlig INSERT, UPDATE og DELETE-udsagn. En implicit markør bruges også til at behandle SELECT INTO-sætninger. Når man henter data ved hjælp af implicitte markører, kan NO_DATA_FOUND undtagelse hæves, når SQL-sætningen ikke returnerer nogen data. Desuden,implicitte markører kan hæve TOO_MANY_ROWS undtagelser, når SQL-sætningen returnerer mere end en række.

Hvad er eksplicit markør?

Som tidligere nævnt er eksplicitte markører forespørgsler defineret ved hjælp af et navn. En eksplicit markør kan betragtes som en markør til et sæt optegnelser, og markøren kan flyttes fremad inden for sæt af optegnelser. Eksplicitte markører giver brugeren fuld kontrol over åbning, lukning og hentning af data. Der kan også hentes flere rækker ved hjælp af en eksplicit markør. Eksplicitte markører kan også tage parametre ligesom enhver funktion eller procedure, så variablerne i markøren kan ændres, hver gang den udføres. Derudover giver eksplicitte markører dig mulighed for at hente en hel række ind i en PL / SQL-recordvariabel. Når du bruger en eksplicit markør, skal den først erklæres ved hjælp af et navn. Markørattributter kan tilgås ved hjælp af det navn, der gives til markøren. Efter at have erklæret, skal markøren først åbnes. Derefter kan hentning startes. Hvis der skal hentes flere rækker, skal hentningsprocessen udføres inde i en løkke. Endelig skal markøren lukkes.

Forskellen mellem eksplicit markør og implicit markør

Den største forskel mellem den implicitte markør og den eksplicitte markør er, at en eksplicit markør skal defineres eksplicit ved at angive et navn, mens implicitte markører automatisk oprettes, når du udsteder en select-sætning. Desuden kan flere rækker hentes ved hjælp af eksplicitte markører, mens implicitte markører kun kan hente en enkelt række. Også NO_DATA_FOUND og TOO_MANY_ROWS undtagelser hæves ikke, når der bruges eksplicitte markører i modsætning til implicitte markører. I det væsentlige er implicitte markører mere sårbare over for datafejl og giver mindre programmatisk kontrol end eksplicitte markører. Også implicitte markører betragtes som mindre effektive end eksplicitte markører.

Anbefalet: