Opgeslagen procedures in SQL | Een overzicht

Opgeslagen procedures in SQL | Een overzicht

In deze blog gaan we het hebben over opgeslagen procedures in SQL die u kunt gebruiken om een ​​set code op te slaan en deze herhaaldelijk te gebruiken wanneer u deze nodig heeft. Opgeslagen procedures zijn vergelijkbaar met weergaven. U kunt echter algemene tabelbewerkingen zoals DROP, TRUNCATE, DELETE, enz. uitvoeren met opgeslagen procedures die u niet kunt uitvoeren met weergaven.

Opgeslagen procedures zijn ook vooraf gecompileerd, zodat ze sneller werken dan weergaven. Het minimaliseert ook de hoeveelheid gegevens die naar de databaseserver wordt verzonden.

Inhoudsopgave

Syntaxis voor opgeslagen procedures in SQL: zonder parameters

Om een ​​opgeslagen procedure zonder parameters te maken, moet u beginnen met de functie CREATE . Voeg vervolgens de PROC- functie toe, typ direct daarna de procedurenaam en voeg de AS- functie toe.

Opgeslagen procedures in SQL |  Een overzicht

Het maken van een opgeslagen procedure in is vergelijkbaar met het maken van tabellen en weergaven. Het verschil zit hem echter in het verkrijgen van gegevens.

Als we bijvoorbeeld gegevens uit een weergave willen halen, gebruiken we " SELECT * FROM view_name ". Aan de andere kant gebruiken we voor opgeslagen procedures de EXEC, wat "uitvoeren" betekent, en typen we vervolgens de naam van de opgeslagen procedure .

Opgeslagen procedures in SQL |  Een overzicht

Zodra we een opgeslagen procedure uitvoeren , wordt de informatie ook weergegeven op basis van de instructies of opdrachten die u hebt toegevoegd.

Syntaxis voor opgeslagen procedures in SQL: met parameters

Laten we verder gaan met . Het proces is vergelijkbaar met het vorige voorbeeld dat ik heb gedemonstreerd. Het enige verschil is dat u de parameters vóór de AS- functie moet opnemen en ook het gegevenstype erna.

Opgeslagen procedures in SQL |  Een overzicht

U kunt ook de parameter gebruiken die u hebt gedeclareerd bij het maken van de opgeslagen procedure in uw opdrachten. Dit is voor u om tijd te besparen door meerdere waarden in te voeren. In plaats van klantID1 , klantID2 enzovoort handmatig te typen, gebruikten we bijvoorbeeld @custid of de parameter om een ​​lange set code te voorkomen.

Opgeslagen procedures in SQL |  Een overzicht

Houd er rekening mee dat wanneer u een parameter gebruikt of opneemt, het belangrijk is om het @ -symbool te gebruiken. U kunt ook zoveel parameters opnemen als u wilt, niet slechts één. Dit is hoe we opgeslagen procedures met parameters uitvoeren.

Opgeslagen procedures in SQL |  Een overzicht

Zoals je kunt zien, hebben we ook de parameter gebruikt met een waarde gelijk aan 1 bij het uitvoeren van de opgeslagen procedure. Dit brengt alleen de informatie van custid1 .

Voorbeeldscenario van opgeslagen procedures in SSMS

Laten we meer voorbeelden geven van opgeslagen procedures in SQL. In eerste instantie ga ik een voorbeeld van een opgeslagen procedure maken met behulp van de gemarkeerde opdracht hieronder.

Opgeslagen procedures in SQL |  Een overzicht

Voor naamgeving bij het maken van een opgeslagen procedure gebruiken we meestal "usp" of "sp" om aan te geven dat dit een opgeslagen procedure is. Als je je afvraagt ​​wat "usp" betekent: het staat simpelweg voor door de gebruiker gedefinieerde opgeslagen procedure. 

Vervolgens gaan we query's schrijven voor de opgeslagen procedure om te verwerken wanneer deze wordt uitgevoerd.

Opgeslagen procedures in SQL |  Een overzicht

De query's in het vorige voorbeeld verwijderen gewoon de tabel met de naam dbo.stageOrders . Vervolgens wordt dbo.stageOrders opnieuw gemaakt met de gegevens uit de tabel Sales.SalesOrderHeader

Laten we deze opgeslagen procedure maken door de volgende code te markeren en op de knop Uitvoeren te klikken .

Opgeslagen procedures in SQL |  Een overzicht

Daarna zou je zo'n bericht moeten zien.

Opgeslagen procedures in SQL |  Een overzicht

Vervolgens voeren we nu de opgeslagen procedure uit door de EXEC usp_TEST uit te voeren .

Opgeslagen procedures in SQL |  Een overzicht

Bij de uitvoering van de opgeslagen procedure usp_TEST zou de dbo.stageOrders nu de gegevens van Sales.SalesOrderHeader moeten hebben . Laten we de inhoud van dbo.stageOrders controleren door de onderstaande opdracht uit te voeren.

Opgeslagen procedures in SQL |  Een overzicht

Als resultaat zijn dit de gegevens die we hebben gemaakt in dbo.stageOrders op basis van de opdrachten die we hebben toegevoegd aan onze opgeslagen procedure.

Opgeslagen procedures in SQL |  Een overzicht

Tweede voorbeeldscenario

Laten we verder gaan met een ander voorbeeld. Deze keer wil ik de tabel dbo.stageOrders niet laten vallen en dezelfde tabel opnieuw maken met gegevens uit de tabel Sales.SalesOrderHeader .

In plaats daarvan wil ik gewoon dat de gegevens uit de tabel Sales.SalesOrderHeader worden weergegeven telkens wanneer ik de opgeslagen procedure " usp_TEST " uitvoer .

Om dit uit te voeren, moet ik wijzigingen aanbrengen in de recent gemaakte opgeslagen procedure met behulp van de ALTER- instructie.

Opgeslagen procedures in SQL |  Een overzicht

In dit voorbeeld hebben we de ALTER- instructie gebruikt die wordt gebruikt om onze opgeslagen procedure te wijzigen. U kunt dit ook toepassen op weergaven en tabellen. Zodra we de code in de bovenstaande schermafbeelding hebben uitgevoerd, zou dit de vragen moeten wijzigen die moeten worden verwerkt door onze opgeslagen procedure.

Deze keer zal het geen enkele tabel opnieuw maken zoals we eerder deden. Als we " usp_TEST " uitvoeren , worden alleen de gegevens uit de tabel Sales.SalesOrderHeader opgehaald .

Opgeslagen procedures in SQL |  Een overzicht

Opgeslagen procedures in SQL |  Een overzicht

Derde voorbeeldscenario

Laten we nog een voorbeeld doen. Deze keer gebruiken we de tabel dbo.stageOrders die we hadden in ons eerste voorbeeld van het maken van een opgeslagen procedure in SSMS . We beginnen met dit voorbeeld door de tabel dbo.stageOrders te selecteren. 

Opgeslagen procedures in SQL |  Een overzicht

De resultaten bij het selecteren van alle gegevens uit dbo.stageOrders zouden als volgt moeten zijn.

Opgeslagen procedures in SQL |  Een overzicht

Laten we nu de tabel dbo.stageOrders legen door usp_TEST uit te voeren . We kunnen dat doen door het volgende commando toe te voegen.

Opgeslagen procedures in SQL |  Een overzicht

Na het toevoegen van de opdracht TRUNCATE TABLE moeten we usp_TEST bijwerken .

Opgeslagen procedures in SQL |  Een overzicht

Daarna zou een bericht moeten verschijnen waarin staat dat de opdrachten met succes zijn voltooid . Daarna voeren we usp_TEST opnieuw uit.

Opgeslagen procedures in SQL |  Een overzicht

Bij het uitvoeren van usp_TEST , worden alle records van Sales.SalesOrderHeader weergegeven en wordt ook de tabel  dbo.stageOrders leeggemaakt.

Opgeslagen procedures in SQL |  Een overzicht

Om te controleren of de tabel dbo.stageOrders leeg is, moeten we deze selecteren met behulp van de volgende opdracht en uitvoeren.

Opgeslagen procedures in SQL |  Een overzicht

Bij het uitvoeren van de bovenstaande code kunnen we zien dat de tabel dbo.stageOrders nu leeg is. Dit komt door de opdracht TRUNCATE TABLE die we hebben gebruikt om usp_TEST bij te werken .

Opgeslagen procedures in SQL |  Een overzicht

Locatie van opgeslagen opgeslagen procedures in SQL

Als u wilt zien waar de opgeslagen procedure in SQL wordt opgeslagen, gaat u naar het paneel Objectverkenner aan de linkerkant en klikt u op het pictogram " + " vóór de database waaraan u werkt.

Opgeslagen procedures in SQL |  Een overzicht

Klik vervolgens met de rechtermuisknop op Programmeerbaarheid en selecteer Vernieuwen .

Opgeslagen procedures in SQL |  Een overzicht

Opgeslagen procedures in SQL |  Een overzicht

Vouw de map of groep Programmability uit door op het pictogram " + " te klikken. Vouw vervolgens de groep Opgeslagen procedures uit door dezelfde stap uit te voeren. Binnen de Stored Procedures-groep zou u de dbo.usp_TEST moeten zien .

Opgeslagen procedures in SQL |  Een overzicht

Opgeslagen procedures in SQL |  Een overzicht

Als u wilt controleren welke opdrachten of query's een specifieke opgeslagen procedure in SQL uitvoert, kunt u met de rechtermuisknop op een opgeslagen procedure klikken en de stappen in de onderstaande schermafbeelding volgen.

Opgeslagen procedures in SQL |  Een overzicht

Daarna wordt de opgeslagen procedure geopend op een ander tabblad waar u de opdrachten erin kunt zien. Zo ziet dbo.usp_TEST eruit bij het openen ervan.

Opgeslagen procedures in SQL |  Een overzicht

Zoals je kunt zien, zijn er enkele standaardcommando's vóór de CREATE- instructie. Je kunt dat gewoon verwijderen als je dat wilt. 

Opgeslagen procedures in SQL |  Een overzicht

Nu weet u hoe u kunt controleren welke opdrachten een opgeslagen procedure in SQL uitvoert.

Een opgeslagen procedure maken in SQL met parameters

Vervolgens gaan we een opgeslagen procedure met parameters maken. We gaan bijvoorbeeld de volgende code gebruiken om een ​​nieuwe opgeslagen procedure te maken.

Opgeslagen procedures in SQL |  Een overzicht

In de voorbeeldcode heb ik hetzelfde proces gebruikt voor het maken van een opgeslagen procedure met de naam usp_GetCustomer . Vervolgens heb ik een parameter toegevoegd die @CustomerID is met een invoertype van INT .

Houd er rekening mee dat als u eenmaal een parameter hebt toegevoegd bij het maken van een opgeslagen procedure, u altijd een parameter moet opgeven wanneer u een opdracht gaat uitvoeren.

Laten we eens kijken wat er gebeurt als we usp_GetCustomer uitvoeren zonder een parameter op te geven.

Opgeslagen procedures in SQL |  Een overzicht

Bij het uitvoeren van usp_GetCustomer zonder parameter, verscheen er een foutmelding. Dit is hoe het eruit zou zien als we usp_GetCustomer uitvoeren met een parameter.

Opgeslagen procedures in SQL |  Een overzicht

Met een opgegeven parameter kunnen we een goed resultaat krijgen bij het uitvoeren van onze opgeslagen procedure .

Een opgeslagen procedure maken met een standaardwaarde

Als u wilt voorkomen dat u een foutmelding krijgt bij het uitvoeren van een opgeslagen procedure met een parameter, kunt u een standaardwaarde instellen die als standaardparameter zal dienen.

We gaan bijvoorbeeld een opgeslagen procedure maken met de naam usp_GetOrdersByYear .

Dan ga ik een parameter toevoegen @OrderYear met invoertype " INT " en een standaardwaarde die gelijk is aan 2011 .

Opgeslagen procedures in SQL |  Een overzicht

Als we usp_GetOrdersByYear uitvoeren zonder dat er een parameter is opgegeven, worden records met het jaar 2011 weergegeven .

Opgeslagen procedures in SQL |  Een overzicht

Opgeslagen procedures in SQL |  Een overzicht

Aan de andere kant, als we usp_GetOrdersByYear uitvoeren met 2014 als een gegeven parameter, zou het records moeten weergeven met het jaar 2014 .

Opgeslagen procedures in SQL |  Een overzicht

Opgeslagen procedures in SQL |  Een overzicht

Zo benut u opgeslagen procedures in uw dagelijkse datamanagementtaken.

HAVING Clausule in SQL Geaggregeerde functies
ISNULL SQL-functie In Case-statements
SQL-gegevensextractie met behulp van OFFSET en FETCH

Conclusie

Alles in aanmerking genomen, heb je geleerd wat een opgeslagen procedure in SQL is en wat het doel ervan is. We hebben ook de ALTER- instructie besproken die wordt gebruikt om wijzigingen of updates aan te brengen in een huidige opgeslagen procedure.

Daarnaast hebt u geleerd dat er verschillende methoden zijn om opgeslagen procedures in SQL te maken en hebt u geleerd hoe u kunt voorkomen dat u fouten ontvangt bij het uitvoeren van een opgeslagen procedure door een standaardwaarde op te geven.

Het belangrijkste is dat u hebt geleerd om opgeslagen procedures te gebruiken voor het opslaan van reeksen opdrachten om te voorkomen dat lange reeksen code herhaaldelijk moeten worden uitgevoerd. Als laatste herinnering, vergeet niet het " @ " -symbool te gebruiken bij het opgeven van een parameter.

Al het beste,

Hafiz


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten