Sobes.tech
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;