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;