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;