előszó
Legutóbb az SQL alapvető tartalmát akartam rendezni, de észrevettem, hogy az óra már kezd fordulni, mielőtt észrevettem. Ez a cikk lent folytatódik.
SMS
Először is készítsük el a szükséges táblázatokat
Először hajtsuk végre egy SQL utasítást
Ez a kód a 0001 egyenlegét 1000-re, a 0002-es fennmaradó összeget pedig 1000-re vonja le. De a táblázat összeállítása során hozzáadtunk korlátokat, és az egyenlegnek nagyobbnak kell lennie, mint 10.
Az eredmények a következők:
Tehát ez a kódvégrehajtási hiba: "A UPDATE állítás ütközik a CHECK "CH_balance" korlátozással. Az ütközés a "DemoDb" adatbázisban jelentkezik a "dbo. Bank", oszlop 'egyenleg'。” 。 Ha az egyik utasítás hiba, akkor a másik utasítás sikeres volt-e.
A lekérdezés eredményei a következők:
Látni fogjuk, hogy egy másik SQL utasítás nem tartalmaz hibákat, de mégsem sikeresen köteleződik el. Íme, amit elárulunk neked.
#Tranzakciók
Mi az a tranzakció? Szigorúan véve, ha egy művelet kielégíti az atomitást, tartósságot, izolációt és konzisztenst, akkor a műveletet tranzakciónak nevezzük. Automatikus tranzakciók küldése: SQL Serverben. Alapértelmezés szerint minden SQL utasítás tranzakció. Tranzakciók megjelenítése: Minden tranzakció explicit módon egy BEGIN TRANSACTION utasítással kezdődik, és kifejezetten egy COMMIT vagy ROLLBACK utasítással ér véget.
Az előbb említett demó Rollback-tel végződött, így az SQL végrehajtás nem lép életbe. Az adatokat nem módosították sikeresen.
A tényleges fejlesztés és alkalmazás során általában egy tranzakcióréteget állítunk fel a nem-lekérdezési utasításon kívül, hogy biztosítsuk az adatok integritását és következetességét a tényleges igények szerint. Vagy csináld meg az egészet, vagy ne csináld meg mindent.
Két rendszerváltozó naplózza a hibás SQL-t. - @@rowcount a sérült sorok számát adja vissza, @@error a hibás kódolást adja vissza
Használjuk ezeket a két rendszerváltozót arra, hogy megállapítsuk, van-e hiba az SQL-ben, és hajtsuk végre a fenti két SQL utasítást.
#Tárolt eljárások
Jelentés: Foglald be egy elvégzett folyamatot (amely lehet összetett) egy névbe, majd ezt a nevet használd a folyamat elvégzéséhez.
> Paraméter nélküli tárolt eljárások
>Tárolt eljárások paraméterekkel
>Tárolt eljárás visszaküldési értékkel
Próbáld meg az adatbázisban a catch-et
Vannak tárolt eljárások alapértelmezett paraméterekkel is, amelyeket az előző cikkben említettek az oldalformálásról.
Epilógus
A tárolt eljárásokat inkább a tényleges projektjeinkben használják, sok ősi rendszerben dolgoznak, az üzleti logika a tárolt eljárásokban van, és a mögötte álló emberek karbantartják azt, és egyszerűen csak percek alatt meg akarják ütni a kutya fejét előttük. Általánosságban elmondható, hogy az üzleti logika a kódban van írva, de az adatbázisból olvasott adatok száma, és az üzleti logika a tárolási folyamatban történik. Tavaly a vállalat projektjében egy nagyon összetett üzleti logikai láncot helyeztek át a tárolási folyamatra, ami tucatnyiszor növelte a sebességet. Természetesen a különleges körülményeket külön kezelik. A konkrét alkalmazás a tényleges helyzettől függ.
(Megjegyzés: A fenti tartalom az év tanulmányi jegyzetei, ha bármi nem megfelelő dolog van, kérlek, javítsd ki!) )
|