Palauttaako Raise_application_error?
Palauttaako Raise_application_error?

Video: Palauttaako Raise_application_error?

Video: Palauttaako Raise_application_error?
Video: УЖАСЫ В МОЕМ ДОМЕ ОБИТАЕТ НЕЧИСТАЯ СИЛА 2024, Huhtikuu
Anonim

Liipaisimen sisällä a RAISE_APPLICATION_ERROR tekee ei suorita a PALAUTUS , se keskeyttää nykyisen toiminnon, eli yhden UPDATE/INSERT/DELETE. A Palautus palauttaa kaikki muutokset nykyisessä tapahtumassa (tai tiettyyn tallennuspisteeseen asti), se on eri asia.

Mikä tällä tavalla on Raise_application_error?

Vastata raise_application_error on itse asiassa Oraclen määrittelemä menettely, jonka avulla kehittäjä voi tehdä poikkeuksen ja liittää virhenumeron ja -sanoman menettelyyn. Oracle tarjoaa raise_application_error menettely, jonka avulla voit nostaa mukautettuja virhenumeroita sovelluksissasi.

Lisäksi mitä tapahtuu, kun palautuslauseke suoritetaan liipaisimen sisällä? Kun laukaista käynnistyy, nykyinen tapahtuma ei ole vielä valmis. Koska COMMIT päättää tapahtuman sallien ne laukaisimissa olisi rikkoa työyksikkö. Muutoksia siis suoritetaan laukaisimessa on sitoutunut (tai peruutettu) sen omistustapahtuman toimesta, joka myönsi DML:n, joka käynnisti laukaista.

Mitä eroa on Pragma Exception_init:n ja Raise_application_error:n välillä?

pragma poikkeus init muuttaa Oracle-virheen nimetyksi poikkeukseksi. Jos tietokantatoiminto herättää ORA-00054 "resurssi varattu", sinun on koodattava:. Raise_application_error käytetään nostamaan virhe - poikkeus_init käytetään käsittelemään virheitä (voisi sanoa, että ne ovat vastakohtia jonkin sisällä tapa).

Mikä on Sqlerrm?

SQLERRM Toiminto. Toiminto SQLERRM palauttaa virhesanoman, joka liittyy sen error-number-argumenttiin. Jos argumentti jätetään pois, se palauttaa virhesanoman, joka liittyy SQLCODE:n nykyiseen arvoon. SQLERRM ilman argumenttia on hyödyllinen vain poikkeuskäsittelijässä.

Suositeltava: