Sobes.tech
Middle

Quand utilise-t-on les curseurs explicites et implicites?

sobes.tech IA

Réponse de l'IA

Les curseurs explicites sont utilisés lorsque vous avez besoin de contrôler plus finement le traitement d'un ensemble de lignes résultant d'une requête. Par exemple, lorsque vous devez traiter chaque ligne successivement, effectuer une logique complexe ou mettre à jour des données dans une boucle.

Les curseurs implicites sont créés automatiquement pour chaque requête SQL qui retourne un résultat (par exemple, SELECT INTO). Ils sont pratiques pour des opérations simples où un contrôle étape par étape de la sélection n'est pas nécessaire.

Exemple d'utilisation d'un curseur explicite en 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;
    -- traitement de chaque ligne
    DBMS_OUTPUT.PUT_LINE('Employé ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;