Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 7095|Răspunde: 0

Tranzacții și proceduri stocate care stau la baza bazei de date

[Copiază linkul]
Postat pe 15.03.2019 22:45:21 | | | |


prefață


Data trecută, voiam să organizez tot conținutul de bază al SQL-ului, dar am descoperit că ceasul se învârtea înainte să-mi dau seama. Acest articol continuă mai jos.


Text


Mai întâi, să creăm tabelele de care avem nevoie



Să executăm mai întâi o instrucțiune SQL


Acest cod scade soldul dintre 0001 cu 1000 și restul dintre 0002 cu 1000. Dar am adăugat constrângeri când am construit tabelul, iar soldul trebuie să fie mai mare sau egal cu 10.

Rezultatele sunt următoarele:
                  

Deci această eroare de execuție a codului: "Instrucțiunea UPDATE intră în conflict cu constrângerea CHECK "CH_balance". Conflictul apare în baza de date "DemoDb" cu tabelul "dbo. Bancă", coloana 'sold'。” 。 Dacă o afirmație este o eroare, atunci dacă cealaltă afirmație a fost executată cu succes.

Rezultatele interogărilor sunt următoarele:
                     

Vom vedea că o altă instrucțiune SQL nu are erori, dar tot nu se face commit cu succes. Iată ce vă vom dezvălui.

#Tranzacții

Ce este tranzacția?
Strict vorbind, dacă o operație satisface atomicitatea, persistența, izolarea și consistența, atunci operația se numește tranzacție.
Trimite automat tranzacțiile: în SQL Server. În mod implicit, fiecare instrucțiune SQL este o tranzacție.
Afișează tranzacții: Fiecare tranzacție începe explicit cu o instrucțiune BEGIN TRANSACTION și se încheie explicit cu o instrucțiune COMMIT sau ROLLBACK.



Demo-ul pe care tocmai l-am menționat mai sus s-a încheiat cu Rollback, deci execuția SQL nu are efect. Datele nu au fost modificate cu succes.

În dezvoltarea și aplicarea propriu-zisă, de obicei stabilim un strat de tranzacții în afara instrucțiunii non-interogare pentru a asigura integritatea și consistența datelor în funcție de nevoile reale. Ori faci totul, ori nu faci totul.

Există două variabile de sistem care înregistrează SQL-ul defect. - @@rowcount returnează numărul de linii afectate @@error returnează codarea greșită

Să folosim aceste două variabile de sistem pentru a determina dacă există o eroare în SQL și să executăm cele două instrucțiuni SQL de mai sus.



#Proceduri stocate

Adică: Încapsulați un proces care este realizat (care poate fi complex) într-un nume, apoi folosiți acel nume pentru a efectua procesul.



>
Proceduri stocate fără parametri


>Proceduri stocate cu parametri



>Procedură stocată cu valoare de returnare



Încearcă să prinzi în baza de date



Există și proceduri stocate cu parametri impliciti, menționate în articolul anterior despre paginare.


Epilog


Procedurile stocate sunt folosite mai mult în proiectele noastre reale, multe sisteme antice, logica de business este scrisă în proceduri stocate, iar oamenii din spatele lor le întrețin, iar ei pur și simplu vor să lovească capul câinelui în fața lor în câteva minute. În general, logica de business este scrisă în cod, dar de câte ori datele sunt citite din baza de date, iar logica de business este scrisă în procesul de stocare. Anul trecut, un șir foarte complex de logică de afaceri din proiectul companiei a fost mutat în procesul de stocare, ceea ce a crescut viteza de zeci de ori. Desigur, circumstanțele speciale sunt tratate special. Aplicația specifică depinde de scenariul real.






(Notă: Conținutul de mai sus reprezintă notițele de studiu ale anului, dacă există ceva nepotrivit, vă rog să corectați!) )









Precedent:Mă simt în legătură cu sistemul de servicii pentru clienți al companiilor mari
Următor:Video cu Andale HCNP și HCIE
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com