Основы (асослар)


Нима учун курсор ўзгарувчисидан фойдаланиш керак?


Download 0.95 Mb.
bet28/58
Sana28.12.2022
Hajmi0.95 Mb.
#1011518
1   ...   24   25   26   27   28   29   30   31   ...   58
Bog'liq
PL-SQL Маъруза матни

Нима учун курсор ўзгарувчисидан фойдаланиш керак?


Купинча сиз курсор ўзгарувчисини сўров натижасида олинган тўпламни PL/SQL қисмдастуридан ҳар хил мижозларга узатиш учун фойдаланасиз.

REF CURSOR турини аниқлаш


Курсор ўзгарувчиси икки қадамда аниқланади. Аввал сиз REF CURSOR турини аниқлаб, сўнг ушбу турдаги курсор ўзгарувчисини эълон қиласиз. REF CURSOR турини аниқлаш синтаксиси:
TYPE ref_тури_номи IS REF CURSOR RETURN қайтариш_тури;
Мисол.
DECLARE
TYPE DeptCurTyp IS REF CURSOR RETURN dept%ROWTYPE;

REF CURSOR тури кучли ёки кучсиз бўлиши мумкин:


DECLARE
TYPE EmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE; -- кучли
TYPE GenericCurTyp IS REF CURSOR; -- кучсиз


Курсор ўзгарувчисини эълон қилиш


Бир марта REF CURSOR турини аниқлаб, ушбу турдаги курсор ўзгарувчиларини ихтиёрий:
DECLARE
TYPE DeptCurTyp IS REF CURSOR RETURN dept%ROWTYPE;
dept_cv DeptCurTyp; -- курсор ўзгарувчисини эълон қилиш


Изоҳ: Курсор ўзгарувчисини пакетда эълон қилиш қилиш мумкин эмас. Мураккаб мисоллар:
I)
DECLARE
TYPE TmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE;
tmp_cv TmpCurTyp; -- курсор ўзгарувчисини эълон қилиш
TYPE EmpCurTyp IS REF CURSOR RETURN tmp_cv%ROWTYPE;
emp_cv EmpCurTyp; -- курсор ўзгарувчисини эълон қилиш
II)
DECLARE
dept_rec dept%ROWTYPE;-- курсор ўзгарувчисини эълон қилиш TYPE DeptCurTyp IS REF CURSOR RETURN dept_rec%TYPE;
dept_cv DeptCurTyp; -- курсор ўзгарувчисини эълон қилиш
III)
DECLARE
TYPE EmpRecTyp IS RECORD (
empno NUMBER(4),
ename VARCHAR2(1O),
sal NUMBER(7,2));
TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp;
emp_cv EmpCurTyp; -- курсор ўзгарувчисини эълон қилиш.

Курсор ўзгарувчиси параметр сифатида


Курсор ўзгарувчисини функция ва процедуранинг формал парметри сифатида эълон қилишингиз мумкин:
DECLARE
TYPE EmpCurTyp IS REF CURSOR RETURN emp%ROWTYPE;
PROCEDURE open_emp_cv (emp_cv IN OUT EmpCurTyp) IS ...



Download 0.95 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   58




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling