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;