Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 7095|Odgovoriti: 0

Transakcije in shranjene procedure, ki so osnova baze podatkov

[Kopiraj povezavo]
Objavljeno na 15. 03. 2019 22:45:21 | | | |


predgovor


Zadnjič sem nameraval organizirati vso osnovno vsebino SQL-a, a sem ugotovil, da se ura izteka, preden sem se zavedel. Ta članek se nadaljuje spodaj.


Besedilno sporočilo


Najprej ustvarimo tabele, ki jih potrebujemo



Najprej izvedimo SQL ukaz


Ta koda odšteje saldo 0001 z 1000 in saldo 0002 z 1000. A pri sestavi tabele smo dodali omejitve in ravnotežje mora biti večje ali enako 10.

Rezultati so naslednji:
                  

Torej ta napaka pri izvajanju kode: "Izjava UPDATE je v nasprotju z omejitvijo CHECK "CH_balance". Konflikt se pojavi v podatkovni bazi "DemoDb" s tabelo "dbo. Banka", stolpec 'stanje'。” 。 Če je ena izjava napaka, potem ali je bila druga izjava uspešno izvedena.

Rezultati poizvedb so naslednji:
                     

Videli bomo, da še en SQL stavek nima napak, vendar še vedno ne bo uspešno potrjeval. Tukaj je, kaj vam bomo razkrili.

#Transakcije

Kaj je transakcija?
Strogo gledano, če operacija zadovoljuje atomičnost, obstojnost, izolacijo in konsistentnost, se operacija imenuje transakcija.
Samodejno pošiljanje transakcij: v SQL Serverju. Privzeto je vsak SQL izrek transakcija.
Pokaži transakcije: Vsaka transakcija se eksplicitno začne z izjavo BEGIN TRANSACTION in konča eksplicitno z izjavo COMMIT ali ROLLBACK.



Dem, ki smo ga omenili zgoraj, se je končal z Rollbackom, zato izvajanje SQL ne začne veljati. Podatki niso bili uspešno spremenjeni.

Pri dejanskem razvoju in aplikacijah običajno nastavimo plast transakcij zunaj ne-poizvedbene izjave, da zagotovimo integriteto in doslednost podatkov glede na dejanske potrebe. Ali naredi vse ali pa ne naredi vsega.

Obstajata dve sistemski spremenljivki, ki beležita okvarjen SQL. - @@rowcount vrne število prizadetih vrstic @@error vrne napačno kodiranje

Uporabimo ti dve sistemski spremenljivki, da ugotovimo, ali je v SQL napaka, in izvedimo zgornji dve SQL stavki.



#Shranjene procedure

Pomen: Proces, ki se izvaja (ki je lahko kompleksen), zapakiramo v ime in nato uporabimo to ime za izvedbo procesa.



>
Brezparametrski shranjeni postopki


>Shranjene procedure s parametri



>Shranjena procedura z vrnjeno vrednostjo



Poskusi ujeti v bazi podatkov



Obstajajo tudi shranjene procedure z privzetimi parametri, ki so bili omenjeni v prejšnjem članku o paginaciji.


Epilog


Shranjene postopke uporabljamo bolj v naših dejanskih projektih, veliko zastarelih sistemov, poslovna logika je zapisana v shranjenih postopkih, ljudje za njo pa jo vzdržujejo, in si preprosto želijo v nekaj minutah razbiti glavo pred seboj. Na splošno je poslovna logika zapisana v kodi, vendar se število prebranih podatkov iz baze podatkov in poslovna logika zapisuje v procesu shranjevanja. Lani je bila zelo zapletena poslovna logika v projektu podjetja prenesena v proces shranjevanja, kar je hitrost povečalo za več desetkrat. Seveda se posebne okoliščine obravnavajo posebej. Specifična uporaba je odvisna od dejanskega scenarija.






(Opomba: Zgornja vsebina so študijski zapiski leta, če je kaj neprimernega, prosim popravite!) )









Prejšnji:Čutim se glede sistema storitev za stranke velikih podjetij
Naslednji:Video posnetkov Andale HCNP in HCIE
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com