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;