Je, Raise_application_error kurejesha?
Je, Raise_application_error kurejesha?

Video: Je, Raise_application_error kurejesha?

Video: Je, Raise_application_error kurejesha?
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Novemba
Anonim

Ndani ya kichochezi a RAISE_APPLICATION_ERROR inafanya kutofanya a RUSHWA , inabatilisha utendakazi wa sasa, yaani UPDATE/INSERT/DELETE moja. A Rudisha nyuma hurejesha mabadiliko yote ndani ya shughuli ya sasa (au hadi Savepoint iliyotolewa), hiyo ni tofauti.

Kwa njia hii, Raise_application_error ni nini?

Jibu: The kuongeza_kosa_maombi kwa kweli ni utaratibu uliofafanuliwa na Oracle ambao unaruhusu msanidi programu kuongeza ubaguzi na kuhusisha nambari ya hitilafu na ujumbe na utaratibu. Oracle hutoa kuongeza_kosa_maombi utaratibu wa kukuruhusu kuongeza nambari za makosa maalum ndani ya programu zako.

Zaidi ya hayo, nini kitatokea wakati taarifa ya kurejesha inatekelezwa ndani ya kichochezi? Wakati kichochezi inazima shughuli ya sasa bado haijakamilika. COMMIT inapositisha shughuli inayowaruhusu katika vichochezi ingekuwa kuvunja kitengo cha kazi. Kwa hivyo mabadiliko kutekelezwa katika trigger wamejitolea (au wamerudishwa nyuma) na shughuli ya kumiliki ambayo ilitoa DML ambayo ilifuta kazi kichochezi.

Kwa hivyo, kuna tofauti gani kati ya Pragma Exception_init na Raise_application_error?

pragma isipokuwa init hubadilisha Hitilafu ya Oracle kuwa ubaguzi uliotajwa. Ikiwa operesheni ya hifadhidata itainua "rasilimali yenye shughuli nyingi" ya ORA-00054, itabidi uweke nambari:. Kuongeza_kosa_maombi inatumika KUINUA kosa - isipokuwa_init hutumika kushughulikia makosa (nadhani unaweza kusema ni kinyume ndani ya njia).

Sqlerrm ni nini?

SQLERRM Kazi. Kitendaji SQLERRM inarudisha ujumbe wa makosa unaohusishwa na hoja yake ya nambari ya makosa. Hoja ikiachwa, hurejesha ujumbe wa hitilafu unaohusishwa na thamani ya sasa ya SQLCODE. SQLERRM bila hoja ni muhimu tu kwa kidhibiti cha kipekee.

Ilipendekeza: