|
|
Publicerad på 2019-03-15 22:45:21
|
|
|
|

förord
Senast skulle jag organisera allt grundläggande innehåll i SQL, men jag märkte att klockan började gå innan jag visste ordet av. Den här artikeln fortsätter nedan.
SMS
Först, låt oss skapa de tabeller vi behöver
Låt oss köra en SQL-sats först
Denna kod drar av balansen 0001 med 1000 och balansen 0002 med 1000. Men vi lade till begränsningar när vi byggde bordet, och balansen måste vara större än eller lika med 10.
Resultaten är följande:
Så detta kodexekveringsfel: "UPDATE-satsen strider mot CHECK-begränsningen "CH_balance". Konflikten uppstår i databasen "DemoDb" med tabellen "dbo. Bank", kolumnen 'saldo'。” 。 Om en sats är fel, så är det om den andra satsen har utförts framgångsrikt.
Sökresultaten är följande:
Vi kommer att se att en annan SQL-sats inte har några fel, men ändå inte committar framgångsrikt. Här är vad vi kommer att avslöja för dig.
#Transaktioner
Vad är transaktion? Strikt taget, om en operation uppfyller atomicitet, persistens, isolering och konsistens, kallas operationen en transaktion. Skicka automatiskt in transaktioner: i SQL Server. Som standard är varje SQL-sats en transaktion. Visa transaktioner: Varje transaktion börjar explicit med en BEGIN TRANSACTION-sats och slutar explicit med en COMMIT- eller ROLLBACK-sats.
Demon vi just nämnde ovan slutade med Rollback, så SQL-exekveringen träder inte i kraft. Datan modifierades inte framgångsrikt.
I faktisk utveckling och applikation sätter vi vanligtvis upp ett lager av transaktioner utanför icke-frågeformuleringen för att säkerställa datans integritet och konsekvens enligt faktiska behov. Antingen gör du allt eller så gör du inte allt.
Det finns två systemvariabler som loggar den felaktiga SQL. - @@rowcount returnerar antalet drabbade linjer @@error returnerar fel kodning
Låt oss använda dessa två systemvariabler för att avgöra om det finns ett fel i SQL och köra de två ovan nämnda SQL-satserna.
#Lagrade procedurer
Betydelse: Kapsla in en process som utförs (som kan vara komplex) i ett namn, och använd sedan det namnet för att utföra processen.
> Parameterfria lagrade procedurer
>Lagrade procedurer med parametrar
>Lagrad procedur med returvärde
försök fånga i databasen
Det finns också lagrade procedurer med standardparametrar, vilka nämndes i föregående artikel om paginering.
Epilog
Lagrade procedurer används mer i våra faktiska projekt, många gamla system, affärslogik skrivs i lagrade procedurer, och människorna bakom underhåller dem, och de vill helt enkelt slå hundens huvud framför sig på några minuter. Generellt sett skrivs affärslogik i koden, men antalet gånger data läses från databasen och affärslogiken skrivs i lagringsprocessen. Förra året flyttades en mycket komplex sträng av affärslogik i företagets projekt till lagringsprocessen, vilket ökade hastigheten dussintals gånger. Självklart behandlas särskilda omständigheter särskilt. Den specifika tillämpningen beror på det faktiska scenariot.
(Obs: Ovanstående innehåll är årets studieanteckningar, om något är olämpligt, vänligen rätta det!) )
|
Föregående:Jag känner för kundservicesystemet hos stora företagNästa:Video av Andale HCNP och HCIE
|