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


Объектларни эълон қилиш ва қиймат бериш



Download 0,95 Mb.
bet50/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   46   47   48   49   50   51   52   53   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

Объектларни эълон қилиш ва қиймат бериш


Объект турини бир марта эълон қилиб , сўнг уни ушбу турдаги объектларни ихтиёрий PL/SQL блокида, қисмдастурда ва пакетда эълон қилишда ишлатишингиз мумкин.

Объектларни эълон қилиш


Сиз объект турини CHAR ёки NUMBER каби ички қурилган турлари ишлатиладиган ихтиёрий жойда ишлатишингиз мумкин:
DECLARE
r Rational;
BEGIN
r := Rational(6, 8);
DBMS_OUTPUT.PUT_LINE(r.num); -- 6 чоп этади

Объектларни функция ёки процедура формал параметрлари сифатида эълон қилишингиз мумкин:


DECLARE
...
PROCEDURE open_acct (new_acct IN OUT Account) IS ...

Қуйидаги мисолда Account объект тури функция қайтарилиши лозим бўлган қиймат турини аниқлайди:


DECLARE
...
FUNCTION get_acct (acct_id IN INTEGER) RETURN Account IS ...

Объектларга қиймат бериш


Объектга унинг тури конструкторини чақириш йўли билан қиймат бермагунга қадар у ягона бирлик сифатида бўш бўлади. Яъни нафақат объект атрибутлари , балки унинг ўзи ҳам бўш бўлади:
DECLARE
r Rational; -- r ягона бирлик сифатида бўш
BEGIN
r := Rational(2,3); -- r 2/3 тенг

Бўш объект ҳеч қачон бошқа объектга тенг бўлмайди. Амалда бўш объектни ихтиёрий бошқа объект билан солиштириш натижаси NULL қиймат қайтаради. Худди шунингдек ягона бирлик сифатида бўш объектни бошқа объектга қиймат сифатида берганда, бошқа объект ягона бирлик сифатида бўш объект бўлади:


DECLARE
r Rational;
BEGIN
r Rational := Rational(1,2); --r ½ бўлади
r := NULL; -- r ягона бирлик сифатида бўш бўлади
IF r IS NULL THEN ... -- шарт TRUE қайтаради

Дастурлашнинг яхши усули объектни эълон қилишда унга қиймат беришдан иборат:


DECLARE
r Rational := Rational(2,3); -- r 2/3 бўлади

PL/SQL бўш объектни қандай текширади


Ифодаларда бўш объектнинг атрибутлари NULL деб олинади. Бўш объектнинг атрибутларига қиймат беришга уринсангиз, олдиндан аниқланган ACCESS_INTO_NULL мустасно содир бўлади. Агар бўш объект ёки унинг атрибутларига IS NULL солишитириш амалани қўлласангиз натижа TRUE бўлади.
Қуйидаги мисол бўш объект ва бўш атрибутли объект фарқини намойиш этади:
DECLARE
r Rational; -- r ягона бирлик сифатида бўш
BEGIN
IF r IS NULL THEN ... – TRUE бўлади
IF r.num IS NULL THEN ... – TRUE бўлади
r := Rational(NULL, NULL);-- r бўш атрибутли объект
r.num := 4; -- r ягона бирлик сифатида бўш эмас
r := NULL; -- r яна бўш бўлди
r.num := 4; -- ACCESS_INTO_NULL содир бўлади
EXCEPTION
WHEN ACCESS_INTO_NULL THEN
...
END;

Бўш объект методларини чақириш мумкин, унда SELF параметри NULL билан чегараланган бўлади. Агар IN турдаги параметрга бўш объект атрибутини аргумент сифатида узатсангиз NULL ҳосил бўлади.



Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   46   47   48   49   50   51   52   53   ...   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