Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 7095|Svar: 0

Transaktioner og lagrede procedurer, der ligger til grund for databasen

[Kopier link]
Opslået på 15/03/2019 22.45.21 | | | |


forord


Sidste gang ville jeg organisere alt det grundlæggende indhold i SQL, men jeg opdagede, at uret var ved at dreje, før jeg vidste af det. Denne artikel fortsætter nedenfor.


Tekst


Først skal vi lave de tabeller, vi har brug for



Lad os først udføre en SQL-sætning


Denne kode trækker saldoen 0001 fra 1000 og 0002 fra 1000. Men vi tilføjede begrænsninger, da vi byggede bordet, og balancen skal være større end eller lig med 10.

Resultaterne er som følger:
                  

Så denne kodeeksekveringsfejl: "UPDATE-sætningen er i konflikt med CHECK-begrænsningen "CH_balance". Konflikten opstår i databasen "DemoDb" med tabellen "dbo. Bank", kolonne 'saldo'。” 。 Hvis én sætning er fejl, så er den anden sætning blevet udført med succes.

Forespørgselsresultaterne er som følger:
                     

Vi vil se, at en anden SQL-sætning ikke har fejl, men stadig ikke committer succesfuldt. Her er, hvad vi vil afsløre for dig.

#Transaktioner

Hvad er en transaktion?
Strengt taget, hvis en operation opfylder atomicitet, persistens, isolation og konsistens, kaldes operationen en transaktion.
Indsend automatisk transaktioner: i SQL Server. Som standard er hver SQL-sætning en transaktion.
Vis transaktioner: Hver transaktion starter eksplicit med en BEGIN TRANSACTION-sætning og slutter eksplicit med en COMMIT- eller ROLLBACK-sætning.



Demoen, vi lige nævnte ovenfor, sluttede med Rollback, så SQL-udførelsen træder ikke i kraft. Dataene blev ikke med succes ændret.

I selve udviklingen og anvendelsen opsætter vi normalt et lag af transaktioner uden for ikke-forespørgselsudsagnet for at sikre dataintegriteten og konsistensen i forhold til de faktiske behov. Enten gør du det hele, eller også skal du ikke gøre det hele.

Der er to systemvariabler, der logger den defekte SQL. - @@rowcount returnerer antallet af berørte linjer, @@error returnerer den forkerte kodning

Lad os bruge disse to systemvariabler til at afgøre, om der er en fejl i SQL, og udføre de to ovennævnte SQL-sætninger.



#Lagrede procedurer

Betydning: Indkapsl en proces, der udføres (som kan være kompleks), til et navn, og brug derefter det navn til at udføre processen.



>
Parameterløse lagrede procedurer


>Lagrede procedurer med parametre



>Lagret procedure med returværdi



Prøv at fange i databasen



Der findes også lagrede procedurer med standardparametre, som blev nævnt i den tidligere artikel om paginering.


Epilog


Lagrede procedurer bruges mere i vores faktiske projekter, mange gamle systemer, forretningslogik er skrevet i lagrede procedurer, og folkene bag vedligeholder det, og de vil bare hamre hundens hoved foran sig på få minutter. Generelt er forretningslogikken skrevet i koden, men antallet af gange dataene læses fra databasen, og forretningslogikken skrives i lagringsprocessen. Sidste år blev en meget kompleks række forretningslogikker i virksomhedens projekt flyttet til lagringsprocessen, hvilket øgede hastigheden med dusinvis af gange. Selvfølgelig behandles særlige omstændigheder særligt. Den specifikke anvendelse afhænger af den faktiske situation.






(Bemærk: Ovenstående indhold er årets studienoter, hvis der er noget upassende, bedes du rette det!) )









Tidligere:Jeg har en holdning til kundeservicesystemet i store virksomheder
Næste:Video af Andale HCNP og HCIE
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com