W tym przewodniku dowiesz się, jak wdrożyć obsługę błędów w SQL Server za pomocą bloków Try i Catch.
Jeśli chcesz dowiedzieć się, jak generować komunikaty o błędach zdefiniowanych przez użytkownika, sprawdź nasz samouczek w samouczku SQL Server Raiserror.
Wstęp
Próba i łapanie bloków na serwerze SQL pozwala przewidzieć i łaskawie obsługiwać błędy, które mogą wystąpić w zapytaniach SQL.
Najpierw załącz zapytania SQL, które mogą powodować błędy w bloku próbnym. Następnie możesz dodać blok połowowy po podniesieniu wyjątku.
Składnia dla bloku próbnego jest jak pokazano:
zacznij próbowaćPo bloku próbnym możesz ustawić blok połowowy, który następuje po podobnej składni, jak pokazano:
Zacznij złapaćNajpierw serwer SQL będzie próbował uruchomić kod wewnątrz bloku próbowania. Jeśli nie wystąpi błąd/wyjątek, pomija blok połowowy i przechodzi wraz z wykonaniem.
Jeśli jednak błąd wystąpi wewnątrz bloku próbnego, wykonanie przeskakuje wewnątrz połowu i wykonuje kod w tym bloku.
Składnia dla pełnego bloku prób/catch jest jak pokazano:
zacznij próbowaćMożesz zaimplementować środki obsługi podniesionego błędu wewnątrz bloku połowowego, takich jak wyświetlanie wiadomości za pomocą instrukcji Raiserror i Druku. Pamiętaj, że komunikat o błędzie wewnątrz bloku połowowego nie jest zwracany do aplikacji, chyba że przy użyciu mechanizmów, takich jak instrukcja wyboru.
Możesz użyć specjalnych funkcji, aby uzyskać szczegółowe informacje na temat błędu:
Upewnij się, aby używać poprzednich funkcji w bloku połowowym; W przeciwnym razie zwrócą wartość zerową.
SQL SERVER TRYP/CATK
Użyjmy podziału przez błąd zerowy, aby zilustrować, jak korzystać z bloku try/catch. Zacznij od utworzenia procedury, jak pokazano w następujących zapytaniach:
-- Uzyskaj informacje o błędachW powyższym przykładzie tworzymy procedurę składowaną w celu pobrania informacji o błędach. Następnie podnosimy błąd, nurkując o zero.
Jeśli uruchomimy powyższe zapytanie, powinniśmy uzyskać wyjście jako:
Co się stanie, jeśli nie ma błędu w bloku połowowym, jak pokazano:
początekPonieważ w bloku próbnym nie ma błędu, SQL Server pomija bloki połowowe i zwraca wynik. Przykładowym wynikiem jest to, jak pokazano:
Wniosek
Ten przewodnik obejmował implementację i korzystanie z obsługi błędów w serwerze SQL za pomocą bloków TRY/CATH. Ponadto wyjaśniono specjalne funkcje i dostarczono w celu pobrania szczegółowych informacji o błędach. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź więcej artykułów z podpowiedzi Linux, aby uzyskać wskazówki i informacje na temat serwerów SQL.