Sobes.tech
Middle

Millal kasutatakse selgeid ja varjatud kursoreid?

sobes.tech AI

Vastus AI-lt

Selgitatud kursoreid kasutatakse siis, kui on vaja täpsemalt kontrollida tulemuste ridade töötlemist. Näiteks, kui on vaja töödelda iga rida järjest, teha keerulist loogikat või uuendada andmeid tsüklis.

Varjatud kursoreid luuakse automaatselt iga SQL-päringu jaoks, mis tagastab tulemuse (näiteks, SELECT INTO). Need on mugavad lihtsate operatsioonide jaoks, kui ei ole vaja samm-sammult kontrollida valikut.

PL/SQL näide, kuidas kasutada selget kursorit:

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;
    -- iga rea töötlemine
    DBMS_OUTPUT.PUT_LINE('Töötaja ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;