Sobes.tech
Middle

Qachon ochiq va yashirin kursorlar ishlatiladi?

sobes.tech AI

AIdan javob

Ochiq imleçlar, natijaviy so'rovdan olingan satrlar to'plamini yanada aniqroq nazorat qilish kerak bo'lganda ishlatiladi. Masalan, har bir satrni ketma-ket ishlash, murakkab mantiq qilish yoki ma'lumotlarni sikl ichida yangilash zarur bo'lsa.

Noma'lum imleçlar har bir SQL so'rovi uchun avtomatik ravishda yaratiladi va natija qaytaradi (masalan, SELECT INTO). Ular oddiy operatsiyalar uchun qulay, va tanlovni bosqichma-bosqich nazorat qilishga ehtiyoj bo'lmagan hollarda ishlatiladi.

PL/SQLda ochiq imleçdan foydalanish misoli:

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;
    -- har bir satrni ishlash
    DBMS_OUTPUT.PUT_LINE('Xodim ' || v_emp_id || ': ' || v_salary);
  END LOOP;
  CLOSE c_emp;
END;