Sobes.tech
Middle

Երբ են օգտագործվում բացահայտ և անփոփոխ կուրսորները?

sobes.tech AI

Պատասխան AI-ից

Արարատային կուրսորները օգտագործվում են, երբ անհրաժեշտ է ավելի մանրամասն վերահսկել արդյունքի տողերի հավաքածուի մշակումը։ Օրինակ, երբ անհրաժեշտ է հերթականությամբ մշակել յուրաքանչյուր տող, կատարել բարդ տրամաբանություն կամ տվյալները թռուցիկորեն թարմացնել ցիկլում:

Անհայտ կուրսորները ավտոմատ կերպով ստեղծվում են յուրաքանչյուր SQL հարցում, որը վերադարձնում է արդյունք (օրինակ, SELECT INTO): Դրանք հարմար են պարզ գործողությունների համար, երբ անհրաժեշտ չէ քայլ առ քայլ վերահսկել ընտրությունը:

PL/SQL-ում բաց կուրսոր օգտագործելու օրինակ:

DECLARE
  CURSOR c_emp IS SELECT employee_id, salary FROM employees WHERE department_id = 10;
  v_emp_id employees.employee_id%TYPE;
  v_salary employees.salary%TYPE;
BEGIN
  OPEN c_emp;
  LOOP
    FETCH c_emp INTO v_emp_id, v_salary;
    EXIT WHEN c_emp%NOTFOUND;
    -- յուրաքանչյուր տողի մշակումը
    DBMS_OUTPUT.PUT_LINE('Աշխատակից ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;