Pragma Exception_init менен Raise_application_error ортосунда кандай айырма бар?
Pragma Exception_init менен Raise_application_error ортосунда кандай айырма бар?

Video: Pragma Exception_init менен Raise_application_error ортосунда кандай айырма бар?

Video: Pragma Exception_init менен Raise_application_error ортосунда кандай айырма бар?
Video: CS50 2013 - Week 9 2024, Апрель
Anonim

прагма exception init Oracle катасын аталган өзгөчө абалга айлантат. Эгер маалымат базасынын операциясы ORA-00054 "ресурс бош эмес" дегенди көтөрсө, сиз коддооңуз керек болот:. Колдонмо_катасын көтөрүү катаны көтөрүү үчүн колдонулат - exception_init каталар менен күрөшүү үчүн колдонулат (менимче, сиз аларды карама-каршы деп айта аласыз ичинде жол).

Анда Pragma Exception_init деген эмне?

EXCEPTION_INIT Прагма . The прагма EXCEPTION_INIT өзгөчөлүк атын Oracle ката номери менен байланыштырат. Сиз каалаган ORA катасын кармап, OTHERS иштеткичти колдонуунун ордуна ал үчүн атайын иштеткичти жаза аласыз. Учурдагы чөйрөдө жарыяланган колдонуучу тарабынан аныкталган өзгөчөлүк.

Ошондой эле, өтүнмөнү көтөрүү менен жогорулатуунун ортосунда кандай айырма бар? RAISE_APPLICATION_ERROR Oracle тарабынан орнотулган стандарттуу процедура көтөрөт а ката саны жана колдонуучуга түшүнүктүү ката билдирүү. Бул колдонуучуга чечүү боюнча иштөөгө жардам берет ката абдан өзгөчө жана туура жол менен. Колдонмо_катасын көтөрүү көрсөтөт колдонмо конкреттүү ката билдирүү. Сиз кайра албайсыз көтөрүү ал.

Ошентип, Raise_application_error деген эмне?

Жооп бер колдонмонун_катасын көтөрүү чындыгында Oracle тарабынан аныкталган процедура, ал иштеп чыгуучуга өзгөчө кырдаалды көтөрүүгө жана ката номерин жана кабарды процедура менен байланыштырууга мүмкүндүк берет. Oracle камсыз кылат колдонмонун_катасын көтөрүү колдонмоңузда ыңгайлаштырылган ката сандарын көтөрүүгө мүмкүндүк берүүчү процедура.

Прагманын өзгөчө түрлөрү кандай?

5 түрлөрү нын Прагма Oracle жеткиликтүү директивалар төмөндө келтирилген: ПРАГМА EXCEPTION_INIT : Бул директива аныкталган колдонуучуну байланыштырат өзгөчө белгилүү бир ката санына. ПРАГМА INLINE: (Oracle 11gде киргизилген) Бул директива подпрограммалык чалуу сапка киргизиле тургандыгын же киргизилбеши керектигин көрсөтөт.

Сунушталууда: