Opgeslagen procedures voor een SQL Server Express

Microsoft SQL Server Express is een gratis versie van Microsoft's SQL Server, een hulpmiddel voor het beheren en maken van databases en het uitvoeren van gegevensanalyse. Veel van de functionaliteit van de niet-gratis versie van SQL Server is te vinden in SQL Server Express, inclusief de visuele beheertool SQL Management Studio en de mogelijkheid om gebruik te maken van opgeslagen procedures.

Taal van opgeslagen procedures

Opgeslagen procedures zijn SQL-query's die gebruikers van SQL Server kunnen opslaan en vervolgens kunnen oproepen voor latere uitvoering. De belangrijkste kenmerken van opgeslagen procedures zijn onder meer hun programmeerbaarheid en hun vermogen om parameters te accepteren. Opgeslagen procedures zijn geschreven in de programmeertaal Transact SQL, die wordt gebruikt om databasequery's uit te voeren. Opgeslagen procedures hebben de vorm van andere SQL-instructies die zijn geschreven in Transact SQL, terwijl ze ook parameters accepteren.

Opgeslagen procedures maken

In Microsoft SQL Server kan een nieuwe opgeslagen procedure worden gemaakt door met de rechtermuisknop te klikken op een map met bestaande opgeslagen procedures, genaamd \"Opgeslagen procedures\" in het deelvenster Objectverkenner. SQL Server maakt deze map automatisch aan wanneer een nieuwe database wordt gemaakt en plaatst deze hier in de maphiërarchie: [dbaseName]>[\"Programmability\"]>[\"Stored Procedures\"].

Nieuwe opgeslagen procedures voor dbaseName worden opgeslagen buiten de submap \"Systeem opgeslagen procedures\", die zich onder [\"Opgeslagen procedures\"] bevindt. Bij het maken van een nieuwe database vult SQL Server de map System Stored Procedures met scripts om de database te onderhouden. Gebruikers van SQL Server hoeven deze door het systeem opgeslagen procedures niet te gebruiken om hun eigen procedures te maken.

Nadat de opgeslagen procedure voor het eerst is gemaakt, wordt een nieuw querytabblad geopend. Het tabblad bevat een sjabloon of voorbeeldquery, die de gebruiker vervolgens aanpast aan haar doeleinden.

Voorbeeldprocedure:

Een voorbeeld van een opgeslagen procedure is het volgende:

GEBRUIK [test] GO CREATE PROCEDURE [dbo].[mysp_selectstuff] AS -- SET NOCOUNT ON toegevoegd om te voorkomen dat extra resultatensets -- interfereren met SELECT-instructies. -- STEL NOCOUNT IN OP GO

-- Voeg hier instructies voor procedure in SELECT * from dbo.Movies GO GO EXEC [dbo].[mysp_selectstuff] GO GO DROP PROCEDURE [dbo].[mysp_selectstuff] GO GO

Structuur van een opgeslagen procedure

Het is gebruikelijk om de SQL-statements met een hoofdletter te schrijven, om ze te onderscheiden van de databasecomponenten waarop de statements werken. Opmerkingen beginnen met de tekenreeks \"--\". Deze hebben geen effect op de zoekopdracht. In dit voorbeeld heet de database die wordt opgevraagd \"test,\" en de tabel in die database is Movies. Het voorvoegsel \"dbo\" wordt toegevoegd aan Films om het te scheiden van andere tabellen die mogelijk dezelfde naam hebben. De volledige query selecteert eenvoudig alle velden voor alle records in de tabel Films.

Opgeslagen procedures uitvoeren

De GO-instructies zijn als de RUN-instructies in BASIC-programma's: ze vertellen de SQL-interpreter om de instructies die ervoor komen uit te voeren. De EXEC-instructie voert de query uit en DROP PROCEDURE geeft de query vrij nadat deze is uitgevoerd, wat nodig is voordat de query opnieuw wordt uitgevoerd. De ingevoerde query wordt daadwerkelijk uitgevoerd door SQL Server wanneer F5 of de werkbalkknop Uitvoeren wordt ingedrukt.