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!) )
|