Jeg har for nylig sammensat en lektion om, hvordan du opretter lagrede procedurer. Det er en del af min lagrede procedurer udpakket kursus. Når du opretter lagrede procedurer, kan du indkapsle logik sikkert, samtidig med at klient program en nem måde at udføre det.
Jeg sætter denne gåtur sammen, så du kan se, hvordan hele processen fungerer. Jeg tror, at før vi dykker for dybt ind i, hvordan man opretter lagrede procedurer, giver det først mening at se hele billedet.,
Når du har set denne video, skal du oprette lagrede procedurer for at øve. Du finder ud af, at det ikke er så svært, som alle får dem til at være, og du har en af de færdigheder, en junior dba skal vide.
Du kan lære mere om dette på denne video, det er afskrift følger:
Hvis du ønsker at lære mere om, hvordan du opretter lagrede procedurer, hvorfor så ikke tage mit kursus Lagrede Procedurer Pakket ud? Brug kuponkode BLOGPOST-201 for at få det til en betydelig rabat.,
Hvorfor har vi Brug for at Skabe Lagrede Procedurer??
hvad vi skal gøre i denne lektion er at oprette en gemt procedure, derefter udføre den lagrede procedure og derefter se resultaterne, så freak ikke ud, hvis dette virker som for meget!
ideen her er bare at vise dig de vigtigste trin i, hvordan du opretter en gemt procedure.,
senere vil vi gennemgå alle detaljer om, hvad den lagrede procedure gør, og de forskellige aspekter af den lagrede procedure, såsom parametrene.
den lagrede procedure, vi vil oprette, er en til at beregne tidspunktet for at rejse en afstand. Så de skridt, vi skal tage, vil vi acceptere afstanden og hastigheden som parametre. Og så vil vi beregne tiden som afstanden divideret med hastighed, og så vil vi returnere resultatet. Så lad os gå videre og gøre det.,
Før vi kommer i gang og skabe lagrede procedurer, jeg ønsker at tale om, hvor der er gemt procedure objekter er placeret i Management Studio.
du er bekendt med, hvor tabeller er placeret i tabellerne, men hvis du bemærker det, vil du ikke se noget herinde, der taler om lagrede procedurer. Hvor lagrede procedurer gemmer sig, kaldes programmerbarhed i dette område.
jeg klikker på Åbn programmerbarhed, du vil se, at der er andre mapper her, og man kaldes gemt Procedure., Og så vil under den gemte Proceduremappe være alle de gemte procedurer, der er oprettet.hvad jeg skal gøre nu er at åbne et nyt forespørgselsvindue, så vi kan oprette vores første lagrede procedure. Jeg har oprettet et forespørgselsvindue, der peger på Adventure .orks database, og på dette tidspunkt vil jeg medbringe kommandoen for at oprette en gemt procedure. For at gøre det, er det opret PROCEDURE og derefter som og derefter begynde og derefter ende.,
dette er de vigtigste knogler eller skelet i den lagrede procedure, jeg har hvad proceduren er, dens navn og derefter Start-og slutsignalet, start og Slut af proceduren og eventuelle kommandoer, der hører til inden for denne lagrede procedure, vil opholde sig inden for start og slut.
før jeg kommer meget længere, skal jeg tilføje parametre, og parametrene går mellem OPRETTELSESPROCEDUREN og AS. Her, hvad jeg vil gøre, er jeg har tænkt mig at sætte i mine parametre, og som vi talte om før, vi har afstand og hastighed.,
Jeg bringer parameteren for afstand som en float, den vil have en decimalværdi og hastighed. Bemærk, at parametre har @ tegn foran det. Dette er det tegn, du får, når du rammer Shift og 2, og nu er jeg klar til at sætte i koden.
det første stykke, jeg skal sætte i, er den del med NOCOUNT. NOCOUNT er i det væsentlige sat i, så S .l ikke returnerer ekstra resultater, der siger, Hvor mange rækker der returneres i det sidste valg, der blev kørt.,
og nu vil jeg sætte udsagnet for hastigheden, så et par ting bare for at vise her rigtigt hurtigt er, at jeg bruger en vis logik.
Jeg vil teste, at hvis hastigheden ikke er lig med nul, så lad os vælge udtrykket, @distance / @velocity, så igen ville det være som de 120 miles divideret med 60 miles i timen for at give os de to timer, det tog.
Dette vil returnere resultatet. Hvis min hastighed er lig med nul, som du ved fra matematik, kan du ikke dele noget med nul, så vi vil bare returnere et nul.
Dette er min lagrede procedure., Den lagrede procedure har et navn. Det har parametre. Den har NOCOUNT. Dette er standard, og her er den kode, der kører og udfører. Vi vil returnere afstanden divideret med hastighed, så dybest set den tid det tager at rejse en afstand baseret på hvor hurtigt vi går. Et meget simpelt eksempel, men forhåbentlig viser det dig, hvordan en gemt procedure er bygget.
så lad mig køre dette for at oprette vores lagrede procedure. ou kan se det var en succes. Jeg kommer over til mit databasevindue, og jeg vil opdatere det og komme tilbage i Programmerbarheden, lagrede procedurer.,
og nu Kan du se, at der er CalculateTime. Det har parametre nu, og det returnerer et heltal. Så databasen fandt ud af, hvad vores procedure tager, og hvordan den vil krydse.
lad os køre denne lagrede procedure. Jeg har allerede oprettet et eksempel. Hvordan vi kan køre vores lagrede procedure er at oprette et nyt forespørgselsvindue, og vi kan bruge e .ec-kommandoen. E .ec er en forkortelse for e .ecute, og jeg kan skrive i e .ec eller udføre.
og nu kører jeg den lagrede procedure, og her siger jeg: “vi går en afstand på 120, og vi går 40 miles i timen.,”Og når jeg kører dette, skal det komme tilbage med værdien af 3, og som du kan se, kommer det tilbage med 3.
Hvis jeg skulle ændre vores hastighed til nul, hvad ville der ske? Det kommer tilbage med nul, fordi hvis du husker, havde vi den IF-THEN erklæring, der sagde, at hvis vores hastighed var nul, kan vi ikke dele med nul, så returner et nul. Igen, hvis mængden af hastighed er nul, hvis hastigheden ikke er lig med nul, skal du foretage beregningen, ellers skal du vælge et nul.
Her er i en nøddeskal, hvordan du kan oprette og køre en gemt procedure., Vi opretter en gemt procedure ved hjælp af kommandoen Opret PROCEDURE, og så kan vi køre den ved hjælp af udfør.
igen er hele ideen her ikke at lære dig, hvordan du opretter den gemte procedure og sender dig på vej og siger: “Okay. Du er klar. Tag ikke mere af klassen.”
det er bare for at vise dig her er begyndelsestrinnene til, hvordan du opretter en gemt procedure, så du får dine fødder våde, så du forstår, at der ikke er nogen hemmelig magi bag dette., Du kan gå ud lige nu i din database og oprette en meget enkel gemt procedure for at foretage en beregning for at tilføje et par numre sammen og bevise for dig selv, at du kan gøre det.
faktisk ville det være en god øvelse. Gå ud og prøv bare en simpel gemt procedure for at tilføje to tal sammen, så du ved, at du kan gøre det.