See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 7095|Vastuse: 0

Andmebaasi aluseks olevad tehingud ja salvestatud protseduurid

[Kopeeri link]
Postitatud 15.03.2019 22:45:21 | | | |


eessõna


Eelmine kord plaanisin organiseerida kogu SQL-i põhisisu, kuid avastasin, et kell hakkas käima enne, kui arugi sain. See artikkel jätkub allpool.


Tekst


Esiteks loome vajalikud tabelid



Käivitame esmalt SQL-lause


See kood lahutab 0001 saldo 1000 korda ja 0002 ülejäänud summa 1000 võrra. Aga me lisasime piirangud tabeli koostamisel ja tasakaal peab olema suurem või võrdne 10-ga.

Tulemused on järgmised:
                  

Seega see koodi täitmise viga: "UPDATE lause on vastuolus CHECK piiranguga "CH_balance". Konflikt toimub andmebaasis "DemoDb" tabeliga "dbo. Pank", veerg 'saldo'。” 。 Kui üks lause on viga, siis kas teine lause on edukalt täidetud.

Päringu tulemused on järgmised:
                     

Näeme, et teises SQL-lauses pole vigu, kuid see ei pruugi siiski edukalt toimida. Siin on, mida me teile avaldame.

#Tehingud

Mis on tehing?
Range mõttes, kui operatsioon rahuldab aatomlikkust, püsivust, isolatsiooni ja järjepidevust, nimetatakse seda operatsiooni tehinguks.
Esita tehingud automaatselt: SQL Serveris. Vaikimisi on iga SQL-lause tehing.
Näita tehinguid: Iga tehing algab selgesõnaliselt BEGIN TRANSACTION lausega ja lõpeb selgesõnaliselt COMMIT või ROLLBACK avaldusega.



Eelpool mainitud demo lõppes Rollbackiga, seega SQL-i käivitamine ei jõustu. Andmeid ei muudetud edukalt.

Tegelikus arenduses ja rakendamises loome tavaliselt tehingukihi väljaspool mitte-päringulauset, et tagada andmete terviklikkus ja järjepidevus vastavalt tegelikele vajadustele. Tee kas kõik ära või ära tee kõike.

On kaks süsteemimuutujat, mis logivad vigase SQL-i. - @@rowcount tagastab mõjutatud ridade arvu, @@error tagastab vale kodeeringu

Kasutame neid kahte süsteemimuutujat, et määrata, kas SQL-is on viga, ja täidame ülaltoodud kaks SQL-lauset.



#Salvestatud protseduurid

Tähendus: Kapselda protsess, mis toimub (mis võib olla keeruline), nime sisse ja kasuta seda nime protsessi läbiviimiseks.



>
Parametrita salvestatud protseduurid


>Salvestatud protseduurid parameetritega



>Salvestatud protseduur tagastusväärtusega



Proovi andmebaasis püüda



Samuti on salvestatud protseduurid vaikimisi parameetritega, mida mainiti eelmises lehekülgede koostamise artiklis.


Epiloog


Salvestatud protseduure kasutatakse rohkem meie tegelikes projektides, paljudes iidsetes süsteemides, äriloogika on kirjutatud salvestatud protseduuridesse ja taga olevad inimesed hooldavad seda, ning nad tahavad lihtsalt koera pea minutitega enda ette lüüa. Üldiselt kirjutatakse äriloogika koodis, kuid andmete lugemise arv andmebaasist ja äriloogika kirjutatakse salvestusprotsessis. Eelmisel aastal viidi ettevõtte projekti väga keeruline äriloogika jada salvestusprotsessile, mis suurendas kiirust kümneid kordi. Loomulikult käsitletakse erilisi olukordi eriliselt. Konkreetne rakendus sõltub tegelikust olukorrast.






(Märkus: ülaltoodud sisu on aasta õppemärkmed, kui midagi sobimatut on, palun parandage see!) )









Eelmine:Tunnen end suurte ettevõtete klienditeenindussüsteemi suhtes
Järgmine:Video Andale HCNP ja HCIE kohta
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com