|
|
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 virksomhederNæste:Video af Andale HCNP og HCIE
|