johdanto
Viimeksi olin aikeissa järjestää kaiken SQL:n perussisällön, mutta huomasin, että kello alkoi käydä ennen kuin huomasinkaan. Tämä artikkeli jatkuu alla.
Tekstiviesti
Ensiksi luodaan tarvitsemamme taulukot
Suoritetaan ensin SQL-lause
Tämä koodi vähentää 0001:n saldon 1000:lla ja 0002:n saldon 1000:lla. Mutta lisäsimme rajoitteet taulukon rakentamisessa, ja tasapainon täytyy olla suurempi tai yhtä suuri kuin 10.
Tulokset ovat seuraavat:
Joten tämä koodin suoritusvirhe: "UPDATE-lauseke on ristiriidassa CHECK-rajoitteen "CH_balance" kanssa. Ristiriita esiintyy tietokannassa "DemoDb" taulukon "dbo. Pankki", sarake 'saldo'。” 。 Jos yksi lause on virhe, niin onko toinen lause suoritettu onnistuneesti.
Kyselytulokset ovat seuraavat:
Näemme, että toisessa SQL-lauseessa ei ole virheitä, mutta se ei silti onnistu sitoutumaan. Tässä on, mitä paljastamme sinulle.
#Kaupat
Mitä on transaktio? Tarkasti ottaen, jos operaatio täyttää atomisuuden, pysyvyyden, eristyksen ja johdonmukaisuuden, operaatiota kutsutaan transaktioksi. Lähetä tapahtumat automaattisesti: SQL Serverissä. Oletuksena jokainen SQL-lause on transaktio. Näytä transaktiot: Jokainen transaktio alkaa eksplisiittisesti BEGIN TRANSACTION -lauseella ja päättyy eksplisiittisesti COMMIT- tai ROLLBACK-lauseeseen.
Mainitsemamme demo päättyi Rollbackiin, joten SQL-suoritus ei tule voimaan. Tietoja ei onnistuneesti muokattu.
Varsinaisessa kehityksessä ja sovelluksessa asetamme yleensä transaktiokerroksen ei-kyselylauseen ulkopuolelle varmistaaksemme datan eheyden ja johdonmukaisuuden todellisten tarpeiden mukaan. Tee joko kaikki tai älä tee kaikkea.
On kaksi järjestelmämuuttujaa, jotka kirjaavat viallisen SQL:n. - @@rowcount palauttaa vaikutusten rivien määrän, @@error palauttaa väärän koodauksen
Käytetään näitä kahta järjestelmämuuttujaa selvittääksemme, onko SQL:ssä virhe, ja suoritetaan yllä olevat kaksi SQL-lausetta.
#Tallennetut menettelyt
Eli kapseloi suoritettu prosessi (joka voi olla monimutkainen) nimeen ja käytä sitä nimeä prosessin suorittamiseen.
> Parametrittomat tallennetut menettelyt
>Tallennetut proseduurit parametreineen
>Tallennettu menettely palautusarvolla
Kokeile ottaa kiinni tietokannasta
On myös tallennettuja proseduureja, joissa on oletusparametrit, jotka mainittiin aiemmassa artikkelissa sivuttamisesta.
Epilogi
Tallennettuja menettelyjä käytetään enemmän omissa projekteissamme, monissa muinaisissa järjestelmissä, liiketoimintalogiikka on kirjoitettu tallennettuihin menetelmiin, ja taustalla olevat ihmiset ylläpitävät sitä, ja he haluavat vain hakata koiran pään edessään minuuteissa. Yleisesti ottaen liiketoimintalogiikka kirjoitetaan koodiin, mutta tietokannasta luettujen tietojen määrä ja liiketoimintalogiikka kirjoitetaan tallennusprosessissa. Viime vuonna yrityksen projektissa siirrettiin hyvin monimutkainen liiketoimintalogiikan ketju tallennusprosessiin, mikä lisäsi nopeutta kymmenillä kerroilla. Tietenkin erityistilanteita kohdellaan erityisesti. Tarkka käyttötarkoitus riippuu todellisesta tilanteesta.
(Huomautus: Yllä oleva sisältö on vuoden opintomuistiinpanoja, jos jotain sopimatonta, korjaa se!) )
|