SQL Server RAISERROR (Magyar)

Összefoglalás: ebben a bemutatóban megtudhatja, hogyan kell használni az SQL Server RAISERROR nyilatkozatot generálni felhasználó által definiált hibaüzenetek.

ha új alkalmazást fejleszt ki, akkor a THROW nyilatkozatot kell használnia.,

SQL Server RAISEERROR statement overview

The RAISERROR utasítás lehetővé teszi, hogy létrehoz a saját hibaüzenetek és vissza ezeket az üzeneteket vissza az alkalmazás segítségével ugyanazt a formátumot, mint a rendszer hiba vagy figyelmeztető üzenet által generált SQL Server Database Engine. Ezenkívül aRAISERROR utasítás lehetővé teszi egy adott üzenetazonosító, súlyossági szint és állapot beállítását a hibaüzenetekhez.,

az alábbiak szemléltetik a RAISERROR utasítás szintaxisát:

vizsgáljuk meg a RAISERROR szintaxisát a jobb megértés érdekében.

message_id

a message_id a sys.messages katalógus nézetben tárolt, felhasználó által definiált hibaüzenet.

új felhasználó által definiált hibaüzenet-szám hozzáadásához a tárolt eljárást használja sp_addmessage. A felhasználó által definiált hibaüzenet számának 50 000-nél nagyobbnak kell lennie., Alapértelmezés szerint aRAISERROR utasítás amessage_id 50,000 értéket használja a hiba felvetésére.,

a következő utasítás egyéni hibaüzenetet ad a sys.messages nézethez:

a Beszúrás ellenőrzéséhez a következő lekérdezést használja:

Code language: SQL (Structured Query Language) (sql)

a message_id használatához hajtsa végre a RAISEERROR nyilatkozatot az alábbiak szerint:/p>

Code language: SQL (Structured Query Language) (sql)

itt van a kimenet:

egy üzenet eltávolításához a sys.messages, akkor használja a tárolt eljárássp_dropmessage., Például a következő utasítás törli az 50005-ös üzenetazonosítót:

Code language: SQL (Structured Query Language) (sql)

message_text

The message_text egy felhasználó által definiált üzenet formázással, mint például a printf függvény A C standard könyvtárban. A message_text lehet akár 2047 karakter, 3 utolsó karakter van fenntartva ellipszis ( … ). Ha a message_text legalább 2048-at tartalmaz, akkor csonka lesz és ellipszissel van bélelve.,

amessage_text megadásakor aRAISERROR utasítás message_id 50000-et használ a hibaüzenet megjelenítéséhez.

a következő példa a RAISERROR állítást, hogy egy hibaüzenet szöveg:

Code language: SQL (Structured Query Language) (sql)

a kimenet így fog kinézni:

Code language: SQL (Structured Query Language) (sql)

súlyossági szint egész szám 0 és 25 között, minden szint a hiba súlyosságát jelzi.

Code language: SQL (Structured Query Language) (sql)

állapot

az állapot 0-tól 255-ig terjedő egész szám., Ha több helyen is ugyanazt a felhasználó által definiált hibát emeli ki, akkor minden egyes helyhez egyedi állapotszámot használhat, hogy megkönnyítse annak megállapítását, hogy a kód melyik része okozza a hibákat. A legtöbb megvalósítás, akkor 1.

A

opció lehet LOG, NOWAIT, vagy :

  • WITH LOG naplózza a hibát a HIBANAPLÓBAN és az alkalmazásnaplóban az SQL Server adatbázis motor példányában.,
  • WITH NOWAIT azonnal elküldi a hibaüzenetet az ügyfélnek.
  • WITH SETERROR beállítja a ERROR_NUMBER és @@ERROR értékeket message_id vagy 50000 értékre, súlyossági szinttől függetlenül.

SQL Server RAISERROR példák

Vegyünk néhány példát a RAISERROR utasítás használatára a jobb megértés érdekében.,

A) SQL Server RAISERROR használatával try CATCH block példa

ebben a példában a RAISERROR a TRY blokkot használjuk, hogy a végrehajtás a társított CATCH blokkra ugorjon. A CATCH blokkon belül a RAISERROR hibainformációkat használjuk a CATCH blokkra hivatkozó hibainformációk visszaadásához.,

Itt a kimeneti:

Code language: SQL (Structured Query Language) (sql)

B) az SQL Server RAISERROR nyilatkozat dinamikus üzenet szöveges példa

A következő példa azt mutatja be, hogyan kell használni egy helyi változó biztosítani az üzenet szövegét egy RAISERROR nyilatkozat:

A kimenet a következőképpen:

Code language: SQL (Structured Query Language) (sql)

Mikor kell használni RAISERROR nyilatkozatot

használja a RAISERROR nyilatkozat az alábbi esetekben:

  • Hibaelhárítás Transact-SQL-kódot.
  • változó szöveget tartalmazó üzenetek visszaküldése.
  • vizsgálja meg az adatok értékeit.,
  • a végrehajtás aTRY blokkból a társítottCATCH blokkba ugrik.
  • vissza hiba információ a CATCH blokk a hívók, akár hívás tétel vagy alkalmazás.

ebben az oktatóanyagban megtudhatja, hogyan kell használni az SQL Server RAISERROR nyilatkozatot a felhasználó által definiált hibaüzenetek létrehozásához.

Share

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük