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


Raise_application_error фойдаланиш



Download 0,95 Mb.
bet38/58
Sana10.07.2022
Hajmi0,95 Mb.
#771988
1   ...   34   35   36   37   38   39   40   41   ...   58
Bog'liq
PL-SQL Маъруза матни (2)

Raise_application_error фойдаланиш


DBMS_STANDARD пакети приложения ва Oracle орасидаги муносабатни осонлаштириш учун хизмат қилади. Масалан ундаги raise_application_error процедураси фойдаланувчи томонидан аниқланган хатолик хабарини сақланадиган қисмдастурдан чиқариб беришга имкон беради. Щу йўл билан сиз хатоликлар ҳақида мижоз дастурига хабар бериш имконига эгасиз. raise_application_error процедурасини чақириш учун қуйидаги синтаксисдан фойдаланинг:
raise_application_error(хатолик_номери, хабар[, {TRUE | FALSE}]);

бу ерда хатолик_номери -20000 .. -20999 оралиқда ётувчи манфий бутун сон ва хабар белгили қатор бўлиб узунлиги 2048 байтдан ошмайди. Агар учинчи параметрнинг қиймати TRUE бўлса, хатолик олдинги хатоликларнинг стёкида жойлашади. Агар учинчи параметрнинг қиймати FALSE бўлса, хатолик олдинги барча хатоликларини алмаштиради. DBMS_STANDARD пакети STANDARD пакетининг кенгайтмасидир.


Қуйидаги мисолда, агар ишчи маоши қолдириб юборилган бўлса, raise_application_error чақирилади:
CREATE PROCEDURE raise_salary (emp_id NUMBER, amount NUMBER) AS
curr_sal NUMBER;
BEGIN
SELECT sal INTO curr_sal FROM emp WHERE empno = emp_id;
IF curr_sal IS NULL THEN
/*Фойдаланувчи аниқланган хатолик
чиқарилади. */
raise_application_error(-20101, 'Маош қолдириб юборилган');
ELSE
UPDATE emp SET sal = curr_sal + amount WHERE empno = emp_id;
END IF;
END raise_salary;

Олдиндан аниқланган мустасноларни қайта эълон қилиш


Шуни таъкидлаб ўтиш жоизки PL/SQL олдиндан аниқланган мустасноларни STANDARD, пакетида глобал тарзда эълон қилади. Олдиндан эълон қилинган мустасноларни қайта эълон қилсангиз, хатолик юз бериши мумкин, чунки локал эълон қилинган мустасно глобал эълон қилинган мустасно устига ёзилади. Масалан, агар сиз invalid_number номли мустасно эълон қилсангиз ва PL/SQL олдиндан аниқланган INVALID_NUMBER мустаснони ички содир этса, INVALID_NUMBER учун ёзилган ишлов берувчи ички мустаснони ушлаб билмайди. Бу нохуш ҳолатдан нуқта белгисидан фойдаланиш орқали чиқиш мумкин:
EXCEPTION
WHEN invalid_number OR STANDARD.INVALID_NUMBER THEN
-- хатолик ишлов берилади.
END;

Download 0,95 Mb.

Do'stlaringiz bilan baham:
1   ...   34   35   36   37   38   39   40   41   ...   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