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;