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



Download 0,95 Mb.
bet32/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   28   29   30   31   32   33   34   35   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

4 мисол


Host ўзгарувчисини масалан SQL*Plus –да VARIABLE командаси орқали эълон қилиш мумкин:
VARIABLE return_code NUMBER

PL/SQL Host ўзгарувчисига мурожаат қилиш учун уни олдига икки нуқта (:) қўйиш лозим:


BEGIN
:return_code := 0;
IF credit_check_ok(acct_no) THEN
:return_code := 1;
END IF;
...
END;

SQL*Plus Host ўзгарувчиси қийматини кўриш учун PRINT командасидан фойдаланинг:


SQL> PRINT return_code

RETURN_CODE


-----------
1

SQL*Plus -даги REFCURSOR берилганлар тури курсор ўзгарувчисини эълон қилишга имкон беради.


CREATE PACKAGE emp_data AS
TYPE EmpRecTyp IS RECORD (
emp_id NUMBER(4),
emp_name CHAR(10),
job_title CHAR(9),
dept_name CHAR(14),
dept_loc CHAR(13));
TYPE EmpCurTyp IS REF CURSOR RETURN EmpRecTyp;
PROCEDURE get_staff (
dept_no IN NUMBER,
emp_cv IN OUT EmpCurTyp);
END;
/
CREATE PACKAGE BODY emp_data AS
PROCEDURE get_staff (
dept_no IN NUMBER,
emp_cv IN OUT EmpCurTyp) IS
BEGIN
OPEN emp_cv FOR
SELECT empno, ename, job, dname, loc FROM emp, dept
WHERE emp.deptno = dept_no AND emp.deptno = dept.deptno
ORDER BY empno;
END;
END;
/
COLUMN EMPNO HEADING Number
COLUMN ENAME HEADING Name
COLUMN JOB HEADING JobTitle
COLUMN DNAME HEADING Department
COLUMN LOC HEADING Location
SET AUTOPRINT ON

VARIABLE cv REFCURSOR


EXECUTE emp_data.get_staff(20, :cv)

Курсор атрибутларидан фойдаланиш


Хар бир курсор ёки курсор ўзгарувчиси тўртта атрибутга эга: %FOUND, %ISOPEN %NOTFOUND ва %ROWCOUNT. Ушбу атрибутлар курсор ҳақида фойдали ахборотлар беради.

Ошкор курсор атрибутлари

%FOUND


Курсор ёки курсор ўзгарувчиси очилганда, лекин биринчи қатор олингунга қадар %FOUND атрибут NULL қийматни қайтаради. Сўнг қатор олинса TRUE, қатор тугаса FALSE қийматни қайтаради
LOOP
FETCH c1 INTO my_ename, my_sal, my_hiredate;
IF c1%FOUND THEN -- қатор олинди
...
ELSE -- қатор олиш муваффақиятсиз бўлди
EXIT;
END IF;
END LOOP;


%ISOPEN


%ISOPEN атрибут TRUE қиймат қайтаради, агар курсор ёки курсор ўзгарувчиси очилган бўлса, акс ҳолда %ISOPEN атрибут FALSE қиймат қайтаради.
IF c1%ISOPEN THEN -- курсор очиқ
...
ELSE -- курсор ёпиқ
OPEN c1;
END IF;

Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   28   29   30   31   32   33   34   35   ...   58




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish