Sobes.tech
Middle

Kad tiek izmantoti skaidrie un netiešie kursori?

sobes.tech AI

Atbilde no AI

Skaitļošie kursori tiek izmantoti, kad nepieciešama precīzāka kontrole pār rezultātu rindu apstrādi. Piemēram, kad ir nepieciešams apstrādāt katru rindu secīgi, veikt sarežģītu loģiku vai atjaunināt datus cikla laikā.

Neslēptie kursori automātiski tiek izveidoti katram SQL vaicājumam, kas atgriež rezultātu (piemēram, SELECT INTO). Tie ir ērti vienkāršām operācijām, kad nav nepieciešama soli pa solim kontrole pār atlasi.

PL/SQL piemērs, kā izmantot skaidru kursoru:

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;
    -- katras rindas apstrāde
    DBMS_OUTPUT.PUT_LINE('Darbinieks ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;