Yhteenveto: tämä opetusohjelma, opit, miten voit käyttää SQL Server – RAISERROR
selvitys luo käyttäjän määrittämä virheilmoituksia.
Jos et kehittää uusi sovellus, sinun tulisi käyttää THROW
lausuman sijaan.,
SQL Server RAISEERROR lausunto yleistä
RAISERROR
selvitys avulla voit luoda omia virheilmoituksia ja palauttaa nämä viestit takaisin sovellus, käyttäen samaa muotoa kuin järjestelmä virhe tai varoitus tuottamat SQL Server-Tietokanta Moottori. Lisäksi RAISERROR
selvitys avulla voit määrittää tietyn viestin id: n, tason ja vakavuus, ja valtion virheilmoituksia.,
seuraava esimerkki kuvaa syntaksi RAISERROR
selvitys:
tarkastellaan syntaksi RAISERROR
ymmärtämistä.
message_id
message_id
on käyttäjän määrittämä virhe viesti, numero tallennetaan sys.messages
catalog-näkymä.
lisätäksesi uuden käyttäjän määrittelemän virheviestin numeron, käytät tallennettua menettelyä . Käyttäjän määrittelemän virhesanoman numeron pitäisi olla yli 50 000., Oletuksena RAISERROR
lausunto käyttää message_id
50,000 nostaa virheilmoituksen.,
seuraavan lausuman lisää mukautetun virhe viesti sys.messages
näkymä:
Voit tarkistaa, insert, voit käyttää seuraavan kyselyn:
Code language: SQL (Structured Query Language) (sql)
Voit käyttää tätä message_id, voit suorittaa RAISEERROR
lausuma seuraavasti:
Code language: SQL (Structured Query Language) (sql)
Tässä on output:
Code language: SQL (Structured Query Language) (sql)
poista viesti sys.messages
, voit käyttää tallennettu menettely sp_dropmessage
., Esimerkiksi seuraava lausuma poistaa viestin id 50005:
Code language: SQL (Structured Query Language) (sql)
message_text
message_text
on käyttäjän määrittämä viestin muotoilua, kuten printf
toiminto C standard library. message_text
voi olla jopa 2,047 merkkiä, 3 viimeistä merkkiä on varattu kolme pistettä (…). Jos message_text
sisältää vähintään 2048, se typistetään ja pehmustetaan ellipsillä.,
Kun valitset message_text
, RAISERROR
lausunto käyttää message_id 50000 nostaa virheilmoituksen.
seuraavassa esimerkissä käytetään RAISERROR
lausunto nostaa virhe, jossa viesti teksti:
Code language: SQL (Structured Query Language) (sql)
lähtö näyttää tältä:
Code language: SQL (Structured Query Language) (sql)
vakavuus
vakavuus taso on kokonaisluku välillä 0 ja 25, jokainen taso edustaa vakava virhe.
Code language: SQL (Structured Query Language) (sql)
valtion
valtion on kokonaisluku väliltä 0-255., Jos nostaa saman käyttäjän määrittämä virhe useita paikkoja, voit käyttää ainutlaatuinen tila numero kunkin sijainti, jotta se on helpompi löytää joka osa-koodi on aiheuttaa virheitä. Useimmissa toteutuksissa voit käyttää 1.
vaihtoehto
vaihtoehto voi olla LOG
, NOWAIT
tai SETERROR
:
-
WITH LOG
lokit, virhe, virhe loki ja sovellus loki esimerkiksi SQL Server-Tietokanta Moottori., -
WITH NOWAIT
lähettää virheilmoituksen asiakkaalle välittömästi. -
WITH SETERROR
asettaaERROR_NUMBER
ja@@ERROR
arvot message_id tai 50000, riippumatta vakavuus tasolla.
SQL Server RAISERROR esimerkkejä
otetaanpa joitakin esimerkkejä käyttäen RAISERROR
selvitys saada parempi käsitys.,
A) Käyttämällä SQL Server RAISERROR kanssa YRITTÄÄ SAALIS estää esimerkki
tässä esimerkissä käytämme RAISERROR
sisälle TRY
lohkon aiheuttaa suorituksen hypätä liittyvät CATCH
lohko. Sisälle CATCH
lohko, käytämme RAISERROR
palauttaa virheen tiedot, jotka vetosivat CATCH
lohko.,
Tässä on output:
Code language: SQL (Structured Query Language) (sql)
B) SQL Server RAISERROR lausunto dynaaminen viesti teksti-esimerkki
seuraava esimerkki näyttää, miten käyttää paikallinen muuttuja antaa viestin teksti RAISERROR
selvitys:
lähtö on seuraava:
Code language: SQL (Structured Query Language) (sql)
Kun käyttää RAISERROR lausunto
Voit käyttää RAISERROR
ilmoitus seuraavissa tilanteissa:
- Vianmääritys Transact-SQL-koodin.
- palautusviestit, jotka sisältävät muuttuvaa tekstiä.
- tutki tietojen arvoja.,
- Aiheuttaa suorituksen hypätä
TRY
lohko liitetäänCATCH
lohko. - Paluu virhe, tiedot
CATCH
lohko soittajat, joko soittamalla erän tai sovellus.
– tässä opetusvideota, opit, miten voit käyttää SQL Server – RAISERROR
selvitys luo käyttäjän määrittämä virheilmoituksia.