Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar

Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar
Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar

Video: Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar

Video: Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar
Video: Miu I qytetit dhe miu I fshatit | Town Mouse And Country Mouse in Albanian | @AlbanianFairyTales 2024, Nëntor
Anonim

Kursori eksplicit kundër Kursorit të nënkuptuar

Kur bëhet fjalë për bazat e të dhënave, kursori është një strukturë kontrolli që lejon kalimin mbi të dhënat në një bazë të dhënash. Kursori siguron një mekanizëm për t'i caktuar një emër një deklarate të përzgjedhur SQL dhe më pas mund të përdoret për të manipuluar informacionin brenda asaj deklarate SQL. Kursorët e nënkuptuar krijohen dhe përdoren automatikisht sa herë që një deklaratë Select lëshohet në PL/SQL, kur nuk ka kursor të përcaktuar qartë. Kursorët e qartë, siç sugjeron emri, përcaktohen në mënyrë eksplicite nga zhvilluesi. Në PL/SQL, kursori i qartë është në fakt një pyetje e emërtuar e përcaktuar duke përdorur kursorin e fjalës kyçe.

Çfarë është kursori i nënkuptuar?

Kursorët e nënkuptuar krijohen dhe përdoren automatikisht nga Oracle sa herë që lëshohet një deklaratë e zgjedhur. Nëse përdoret një kursor i nënkuptuar, Sistemi i Menaxhimit të Bazës së të Dhënave (DBMS) do të kryejë automatikisht operacionet e hapjes, të tërheqjes dhe të mbylljes. Kursorët e nënkuptuar duhet të përdoren vetëm me deklaratat SQL që kthejnë një rresht të vetëm. Nëse deklarata SQL kthen më shumë se një rresht, përdorimi i një kursori të nënkuptuar do të sjellë një gabim. Një kursor i nënkuptuar lidhet automatikisht me çdo deklaratë të gjuhës së manipulimit të të dhënave (DML), përkatësisht deklaratat INSERT, UPDATE dhe DELETE. Gjithashtu, një kursor i nënkuptuar përdoret për të përpunuar deklaratat SELECT INTO. Kur merrni të dhëna duke përdorur kursorë të nënkuptuar, NO_DATA_FOUND përjashtim mund të ngrihet kur deklarata SQL nuk kthen të dhëna. Për më tepër, kursorët e nënkuptuar mund të ngrenë TOO_MANY_ROWS përjashtime kur deklarata SQL kthen më shumë se një rresht.

Çfarë është kursori i qartë?

Siç u përmend më herët, kursorët e qartë janë pyetje të përcaktuara duke përdorur një emër. Një kursori i qartë mund të mendohet si një tregues për një grup rekordesh dhe treguesi mund të zhvendoset përpara brenda grupit të rekordeve. Kursorët e qartë i ofrojnë përdoruesit kontrollin e plotë mbi hapjen, mbylljen dhe marrjen e të dhënave. Gjithashtu, shumë rreshta mund të merren duke përdorur një kursor të qartë. Kursorët e qartë gjithashtu mund të marrin parametra ashtu si çdo funksion ose procedurë, në mënyrë që variablat në kursor të mund të ndryshohen sa herë që ai ekzekutohet. Përveç kësaj, kursorët e qartë ju lejojnë të merrni një rresht të tërë në një variabël regjistrimi PL/SQL. Kur përdorni një kursor të qartë, së pari duhet të deklarohet duke përdorur një emër. Atributet e kursorit mund të aksesohen duke përdorur emrin e dhënë kursorit. Pas deklarimit, kursori duhet të hapet fillimisht. Pastaj mund të fillohet marrja. Nëse duhet të merren disa rreshta, operacioni i tërheqjes duhet të bëhet brenda një cikli. Më në fund, kursori duhet të mbyllet.

Diferenca midis Kursorit të qartë dhe Kursorit të nënkuptuar

Dallimi kryesor midis kursorit të nënkuptuar dhe kursorit të qartë është se një kursori i qartë duhet të përcaktohet në mënyrë eksplicite duke dhënë një emër ndërsa kursorët e nënkuptuar krijohen automatikisht kur lëshoni një deklaratë të zgjedhur. Për më tepër, shumë rreshta mund të merren duke përdorur kursorë të qartë ndërsa kursorët e nënkuptuar mund të marrin vetëm një rresht të vetëm. Gjithashtu përjashtimet NO_DATA_FOUND dhe TOO_MANY_ROWS nuk ngrihen kur përdoren kursorë të qartë, në krahasim me kursorët e nënkuptuar. Në thelb, kursorët e nënkuptuar janë më të prekshëm ndaj gabimeve të të dhënave dhe ofrojnë më pak kontroll programatik sesa kursorët e qartë. Gjithashtu, kursorët e nënkuptuar konsiderohen më pak efikas se kursorët e qartë.

Recommended: