programmører bruger standard forespørgsel sprog ( SQL) til at få adgang til en database og ændre dens indhold . Fordi en database indeholder langt flere data, end det kan på ethvert givet tidspunkt , begrænser det sit arbejde til en lille del af hukommelsen kaldes kontekst området . Programmører adgang sammenhæng område med en markør . Implicitte og eksplicitte markører tjener samme væsentlige formål at tillade programmører at få adgang til rækkerne returneres af en SQL-sætning sekventielt , men hver tilbyder også et unikt sæt af styrker og svagheder . Creation
Som standard SQL får adgang til data ved hjælp af en implicit markør. Programmører og database ingeniører blot skrive en SQL-sætning og udføre det , og SQL vil automatisk stole på en implicit cursor til at udføre opgørelsen. Du behøver ikke at instantiere eller erklære en variabel for at bruge en implicit cursor . Hvis du vil bruge en eksplicit cursor , skal du dog eksplicit instantiere det ved hjælp af cursor_name søgeord. Når tråden forlader koden blok , SQL fjerner den udtrykkelige markøren fra hukommelsen.
Single Row Retrieval
Hvis de bruges korrekt , en eksplicit cursor henretter mere effektivt end en implicit markøren, når henter en enkelt række fra en database. En implicit Markøren skal gøre to returflyvninger til at returnere en række fra en database. Den første tur tjener til at hente rækken , den anden at vurdere, om antallet af rækker vil overstige den maksimale tilladte antal rækker . I modsætning hertil gør en eksplicit markør kun en enkelt runde tur til databasen at hente en række. Du bør ikke bekymre dig om dette mindre forskel under almindelige forhold , men i situationer, hvor du skal udføre mange single -række søgninger , en eksplicit cursor bruge.
Speed
Under det store flertal af omstændigheder en SQL forespørgsel der er afhængig af en implicit cursor henretter hurtigere end en forespørgsel, der er baseret på en eksplicit markør. Selvfølgelig skal du bruge en eksplicit forespørgsel , når du har brug for at udføre et meget stort antal af én række forespørgsler , men under næsten enhver anden omstændighed , skal du bruge en implicit forespørgsel. Implicitte forespørgsler ikke kun udføre hurtigere, men programmører finder dem nemmere at bruge og administrere.
Kontrol
En programmør kan ikke udøve langt større kontrol over en eksplicit cursor end en implicit markør. Du kan direkte styre bevægelsen og udførelse af et eksplicit markør , men en implicit cursor forbliver under den uafhængige kontrol af SQL interne motor. Du kan ikke få adgang til en implicit cursor attributter , som du kan med en ekstern markør , du kan heller ikke nemt bruge forgrening eller anden afgørelse udsagn.