Sobes.tech
Middle+
43

Oracle-да курсорлар қалай жұмыс істейді — анық және жасырын, және олар қалай ерекшеленеді?

Сұралған компаниялар
.wrk

AI-дан жауап

sobes.tech AI

Oracle-да курсорлар сұраулардың нәтижелерін басқару үшін пайдаланылады және деректерді жол бойынша өңдеуге мүмкіндік береді.

Жасырын курсорлар SQL-сұрауларды орындау кезінде автоматты түрде құрылады (мысалы, SELECT INTO, DML-операциялар). Олар сұраудың орындалу туралы ақпаратты алуға мүмкіндік береді (өңделген жолдар саны және т.б.), бірақ нәтиженің жол бойынша өңдеуіне тікелей қол жеткізуді бермейді.

Айқын курсорлар 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;