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



Download 0,95 Mb.
bet46/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   42   43   44   45   46   47   48   49   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

SELF параметри


MEMBER методлари ички қурилган номланган SELF параметрига эга бўлиб, у объект тури нусхасини билдиради. STATIC методлар эса ушбу хоссага эга эмаслар.
Метод танасида SELF параметри методи чакирилган объектни белгилайди. Масалан қуйидаги мисолда transform методи SELF параметрини IN OUT параметри тарзида эълон қилади:
CREATE TYPE Complex AS OBJECT (
MEMBER FUNCTION transform (SELF IN OUT Complex) ...

Сиз SELF параметри учун бошқа берилганлар турини аниқлаб билмайсиз. Агарда MEMBER функцияларида SELF параметри эълон қилинмаган бўлса, ушбу параметр IN тарзда қабул қилинади. Аммо агар MEMBER процедураларида SELF параметри эълон қилинмаган бўлса, ушбу параметр IN OUT тарзда қабул қилинади. Сиз OUT туридаги SELF парметрини аниқлаб билмайсиз.


Методлар SELF атрибутларига бевосита мурожааат қилишлари мумкин:
CREATE FUNCTION gcd (x INTEGER, y INTEGER) RETURN INTEGER AS
-- x ва у энг катта бўлинувчисини топади
ans INTEGER;
BEGIN
IF (y <= x) AND (x MOD y = 0) THEN ans := y;
ELSIF x < y THEN ans := gcd(y, x);
ELSE ans := gcd(y, x MOD y);
END IF;
RETURN ans;
END;

CREATE TYPE Rational AS OBJECT (


num INTEGER,
den INTEGER,
MEMBER PROCEDURE normalize,
...
);

CREATE TYPE BODY Rational AS


MEMBER PROCEDURE normalize IS
g INTEGER;
BEGIN
g := gcd(SELF.num, SELF.den);
g := gcd(num, den); -- олдинги жумлага эквивалент
num := num / g;
den := den / g;
END normalize;
...
END;

Агар SQL жумласидан бўш нусха MEMBER методини чақирсангиз (яъни SELF бўш) , метод чақирилмайди ва бўш қиймат қайтарилади. Агар процедуравий жумладан бўш нусха MEMBER методини чақирсангиз (яъни SELF бўш) , PL/SQL олдиндан аниқланган SELF_IS_NULL номли мустаснони чақиради.


Номлаш қоидаси


Пакетлаштирилган процедуралар каби ҳар хил методларни (функция ёки процедурани) бир ном билан номлаш мумкин, агар ушбу методларнинг формал параметрлари сони, жойлашиш тартиби ва берилганлар тури оиласи фарқ қилса. Аммо иккита ‘member’ функциялар фақат қайтариш қийматининг тури билан фарқ қилса, бу функцияларни бир хил номлаш мумкин эмас.

Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   ...   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