I denne guiden lærer du hvordan du implementerer feilhåndtering i SQL Server ved å bruke Try and Catch -blokker.
Hvis du ønsker å lære hvordan du genererer brukerdefinerte feilmeldinger, kan du sjekke opplæringen vår på SQL Server Raiserror Tutorial.
Introduksjon
Prøv- og fangeblokker i SQL -serveren lar deg forutsi og nådig håndtere feil som kan oppstå i SQL -spørsmålene.
Lukk først SQL -spørsmålene som kan forårsake feil i en prøveblokk. Du kan deretter legge til en fangstblokk når et unntak er hevet.
Syntaksen for en prøveblokk er som vist:
begynn å prøveEtter forsøksblokken kan du stille en fangstblokk som følger lignende syntaks som vist:
Begynn fangstFørst vil SQL -serveren prøve å kjøre koden inne i prøveblokken. Hvis det ikke oppstår feil/unntak, hopper den over fangstblokken og fortsetter med utførelsen.
Imidlertid, hvis det oppstår en feil i prøveblokken, hopper utførelsen inne i fangsten og utfører koden i den blokken.
Syntaksen for en full prøve/fangstblokk er som vist:
begynn å prøveDu kan iverksette tiltak for å håndtere den hevede feilen i fangstblokken, for eksempel å vise meldinger ved hjelp av Raiserror og Print -uttalelser. Husk at feilmeldingen i fangstblokken ikke blir returnert til applikasjonen med mindre bruk av mekanismer, for eksempel en valgt setning.
Du kan bruke spesielle funksjoner for å få detaljert informasjon om feilen:
Forsikre deg om å bruke de tidligere funksjonene i en fangstblokk; Ellers vil de returnere en nullverdi.
SQL Server prøv/fange eksempler
La oss bruke et skill. Begynn med å lage en prosedyre som vist i følgende spørsmål:
-- Få feilinformasjonI eksemplet ovenfor oppretter vi en lagret prosedyre for å hente informasjon om en feil. Deretter reiser vi en feil ved å dykke med null.
Hvis vi kjører spørringen over, bør vi få en utdata som:
Hva skjer hvis det ikke er noen feil i fangstblokken som vist:
BegintrySiden det ikke er noen feil i prøveblokken, hopper SQL -serveren hopper over fangstblokkene og returnerer resultatet. Et eksempel på resultatet er som vist:
Konklusjon
Denne guiden dekket implementering og bruk av feilhåndtering i SQL -serveren ved hjelp av Try/Catch -blokker. I tillegg ble spesielle funksjoner forklart og gitt for å hente detaljert informasjon om feilen. Vi håper du fant denne artikkelen nyttig. Sjekk ut flere Linux -hint -artikler for tips og informasjon på SQL -servere.