„Oracle PL / SQL“ žymeklis: implicitinis, explicitinis, žymeklis FOR Loop (pavyzdys)

Kas yra žymeklis PL / SQL?

Žymeklis yra šios konteksto srities rodyklė. „Oracle“ sukuria konteksto sritį, skirtą apdoroti SQL sakinį, kuriame yra visa informacija apie teiginį.

PL / SQL leidžia programuotojui valdyti konteksto sritį per žymeklį. Žymeklis laiko eilutes, kurias grąžina SQL sakinys. Eilių rinkinys, kurį žymeklis žymi kaip aktyvus rinkinys. Šiuos žymeklius taip pat galima pavadinti taip, kad juos būtų galima nukreipti iš kitos kodo vietos.

Šioje pamokoje sužinosite

  • Numanomas žymeklis
  • Aiškus žymeklis
  • Žymeklio atributai
  • FOR Loop Cursor pareiškimas

Žymeklis yra dviejų tipų.

  • Numanomas žymeklis
  • Aiškus žymeklis

Numanomas žymeklis

Kai duomenų bazėje įvyksta bet kurios DML operacijos, sukuriamas implicitinis žymeklis, kuriame laikomos paveiktos eilutės toje operacijoje. Šių žymeklių negalima pavadinti ir todėl jų negalima valdyti ar nukreipti iš kitos kodo vietos. Per žymeklio atributus galime nurodyti tik naujausią žymeklį.

Aiškus žymeklis

Programuotojams leidžiama sukurti pavadintą konteksto sritį, kad jie galėtų atlikti savo DML operacijas, kad galėtų geriau ją kontroliuoti. Aiškus žymeklis turėtų būti apibrėžtas PL / SQL bloko deklaracijos skyriuje ir sukurtas sakiniui „SELECT“, kurį reikia naudoti kode.

Toliau pateikiami veiksmai, susiję su darbu su atvirais žymekliais.

  • Žymeklio deklaravimas

    Žymeklio deklaravimas reiškia tiesiog sukurti vieną pavadintą konteksto sritį teiginiui „SELECT“, kuris yra apibrėžtas deklaracijos dalyje. Šios konteksto srities pavadinimas sutampa su žymeklio pavadinimu.

  • Atidaromas žymeklis

    Atidarę žymeklį, PL / SQL nurodys skirti atmintį šiam žymekliui. Tai padarys žymeklį paruoštą gauti įrašus.

  • Gaunami duomenys iš žymeklio

    Šiame procese vykdomas sakinys „SELECT“, o gautos eilutės saugomos skirtoje atmintyje. Dabar jie vadinami aktyviaisiais rinkiniais. Duomenų gavimas iš žymeklio yra įrašo lygio veikla, o tai reiškia, kad galime prieiti prie duomenų įrašais.

    Kiekvienas „Fetch“ sakinys atgaus vieną aktyvų rinkinį ir talpins to konkretaus įrašo informaciją. Šis sakinys yra tas pats kaip „SELECT“ sakinys, kuris gauna įrašą ir priskiria kintamąjį sąlygoje „INTO“, tačiau išimčių nebus.

  • Žymeklio uždarymas

    Kai visas įrašas bus paimtas dabar, turime uždaryti žymeklį, kad būtų atlaisvinta šiai konteksto sričiai skirta atmintis.

Sintaksė:

DECLARECURSOR  IS ;BEGINFOR I IN LOOP… END LOOP;END;
  • Pirmiau pateiktoje sintaksėje deklaracijos dalyje yra žymeklio deklaracija.
  • Žymeklis sukurtas teiginiui „SELECT“, nurodytam žymeklio deklaracijoje.
  • Vykdymo dalyje deklaruotas žymeklis yra nustatytas FOR kilpoje ir ciklo kintamasis „I“ šiuo atveju elgsis kaip žymeklio kintamasis.

1 pavyzdys : Šiame pavyzdyje mes suprojektuosime visą darbuotojo vardą iš „emp“ lentelės naudodami žymeklio-FOR kilpą.

DECLARECURSOR guru99_det IS SELECT emp_name FROM emp;BEGINFOR lv_emp_name IN guru99_detLOOPDbms_output.put_line(‘Employee Fetched:‘||lv_emp_name.emp_name);END LOOP;END;/

Rezultatas

Employee Fetched:BBBEmployee Fetched:XXXEmployee Fetched:YYY

Kodo paaiškinimas:

  • 2 kodo eilutė : žymos guru99_det deklaravimas teiginiui „SELECT emp_name FROM emp“.
  • 4 kodo eilutė : „FOR“ žymeklio kilpos konstravimas su ciklo kintamuoju lv_emp_name.
  • 5 kodo eilutė: Darbuotojo vardo spausdinimas kiekvienoje ciklo iteracijoje.
  • 8 kodo eilutė: išeikite iš kilpos

Pastaba: „Cursor-FOR“ kilpoje žymeklio atributų negalima naudoti, nes žymeklį atidaryti, atnešti ir uždaryti netiesiogiai atlieka FOR kilpa.

Įdomios straipsniai...