Sobes.tech
Middle

Quando são utilizados os cursores explícitos e implícitos?

sobes.tech IA

Resposta da IA

Os cursores explícitos são utilizados quando é necessário controlar de forma mais precisa o processamento de um conjunto de linhas do resultado de uma consulta. Por exemplo, quando é preciso processar cada linha sequencialmente, fazer lógica complexa ou atualizar dados em um ciclo.

Os cursores implícitos são criados automaticamente para cada consulta SQL que retorna um resultado (por exemplo, SELECT INTO). São convenientes para operações simples, quando não é necessário um controlo passo a passo sobre a seleção.

Exemplo de uso de um cursor explícito em 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;
    -- processamento de cada linha
    DBMS_OUTPUT.PUT_LINE('Empregado ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;