Tilbakestiller Raise_application_error?
Tilbakestiller Raise_application_error?

Video: Tilbakestiller Raise_application_error?

Video: Tilbakestiller Raise_application_error?
Video: Hvordan man tilbakestiller 2024, Desember
Anonim

Inne i en trigger a RAISE_APPLICATION_ERROR gjør det ikke utføre en TILBAKE , avbryter den gjeldende operasjon, dvs. en enkelt OPPDATERING/INSERT/DELETE. EN Tilbakestill tilbakestiller alle endringer innenfor gjeldende transaksjon (eller opp til gitt lagringspunkt), det er annerledes.

På denne måten, hva er Raise_application_error?

Svar: Den raise_application_error er faktisk en prosedyre definert av Oracle som lar utvikleren opprette et unntak og knytte et feilnummer og melding til prosedyren. Oracle gir raise_application_error prosedyre for å tillate deg å øke egendefinerte feiltall i applikasjonene dine.

Videre, hva vil skje når en rollback-setning kjøres inne i en trigger? Når avtrekker avfyrer den nåværende transaksjonen er fortsatt ikke fullført. Som COMMIT avslutter en transaksjon som tillater dem i triggere ville bryte arbeidsenheten. Så endringer utført i en trigger er begått (eller rullet tilbake) av eiertransaksjonen som utstedte DML-en som utløste avtrekker.

Hva er forskjellen mellom Pragma Exception_init og Raise_application_error?

pragma exception init gjør en Oracle-feil til et navngitt unntak. Hvis en databaseoperasjon gir en ORA-00054 "ressurs opptatt", må du kode:. Raise_application_error brukes til å RASE en feil - exception_init brukes til å håndtere feil (jeg antar at du kan si at de er motsetninger i en vei).

Hva er Sqlerrm?

SQLERRM Funksjon. Funksjonen SQLERRM returnerer feilmeldingen knyttet til feilnummerargumentet. Hvis argumentet utelates, returnerer det feilmeldingen knyttet til gjeldende verdi av SQLCODE. SQLERRM uten argument er kun nyttig i en unntaksbehandler.

Anbefalt: