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


Коллекция элементларига мурожаат қилиш



Download 0,95 Mb.
bet18/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   14   15   16   17   18   19   20   21   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

Коллекция элементларига мурожаат қилиш


Хар бир элементга мурожаат қилиш учун коллекция номи ва қавс ичига олинган индексни кўрсатиш лозим. Индекс қайси элеменга мурожаат қилинаётганлигини аниқлаб беради. Мурожаат қилишнинг синтаксиси қуйидагича:
Коллекция_номи(индекс)
бу ерда индекс бутун сонни қайтарувчи ифода. Индекслашган жадваллар учун рухсат этилган индекслар интервали -2147483647 .. 2147483647 ташкил қилади. Ичма-ич жойлашган жадваллар учун рухсат этилган индекслар интервали 1 .. 2147483647 иборат. Ва массивлар учун 1 .. ўлчов_чегараси.
Барча ифодаларда коллекцияларга мурожаат қилиш мумкин. Қуйидаги мисолда ичма-ич жойлашган names жадвали элементларига мурожаат қилинаяпти:
DECLARE
TYPE Roster IS TABLE OF VARCHAR2(15);
names Roster := Roster('J Hamil', 'D Caruso', 'R Singh', ...);
i BINARY_INTEGER;
BEGIN
...
IF names(i) = 'J Hamil' THEN
...
END IF;
END;

Қуйидаги мисолда қисмдастурларни чақиришда коллекцияларга мурожаат қилиш намойиш этилган:


DECLARE
TYPE Roster IS TABLE OF VARCHAR2(15);
names Roster := Roster('J Hamil', 'D Piro', 'R Singh', ...);
i BINARY_INTEGER;
BEGIN
...
verify_name(names(i)); -- процедурани чақириш
END;

Коллекцияни қайтарувчи функцияни чақиришда колеция элементига мурожаат қилиш учун қуйидаги синтаксисдан фойдаланинг:


Функция_номи(параметрлар_рўйхати)(индекс)

Қуйидаги мисолда new_hires функция қайтарадиган массивнинг учинчи элементига мурожаат қилинаяпти


DECLARE
TYPE Staff IS VARRAY(20) OF Employee;
staffer Employee;
FUNCTION new_hires (hiredate DATE) RETURN Staff IS ...
BEGIN
staffer := new_hires('16-OCT-96')(3); /* функцияни чақириш */
...
END;

Коллекцияларга қиймат бериш ва солиштириш


Битта коллекцияни бошкасига қиймат сифатида INSERT, UPDATE, FETCH, ёки SELECT жумлалари ёрдамида бериш мумкин. Бунда коллекциялар бир хил турга эга бўлиши лозим. Бир хил турдаги Элементларининг бир хил турлилиги етарли эмас.
DECLARE
TYPE Clientele IS VARRAY(100) OF Customer;
TYPE Vips IS VARRAY(100) OF Customer;
group1 Clientele := Clientele(...);
group2 Clientele := Clientele(...);
group3 Vips := Vips(...);
BEGIN
group2 := group1;
group3 := group2; -- нотўғри, берилганлар тури ҳар хил

Атомик null коллекцияни бошқа коллекцияга берсангиз, бошқа коллекция атомик null бўлиб қолади (ва қайтадан инициализация қилиниши лозим). Қуйидаги мисолни қараймиз:


DECLARE
TYPE Clientele IS TABLE OF Customer;
group1 Clientele := Clientele(...); -- инициализация қилинди
group2 Clientele; -- атомик null
BEGIN
IF group1 IS NULL THEN ... -– шарт FALSE қайтаради
group1 := group2;
IF group1 IS NULL THEN ... -– шарт TRUE қайтаради
...
END;

Шунга ўхшаб, агар коллекцияга NULL қиймат берилса, коллекция атомик null бўлади.



Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   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