Sådan opretter du en lagret procedure i SQL Server:
- Klik på Ny forespørgsel på SSMS-værktøjslinjen
- Skriv (eller indsæt) en OPRET PROCEDURE erklæring (eksempel nedenfor)
- Klik på Udfør knappen på værktøjslinjen
Dette vil tilføje den lagrede procedure til databasen. Du kan se det under noden Stored Procedures i Object Explorer.
Nedenfor er skærmbilleder og flere detaljer for ovenstående trin.
Ny forespørgsel
Klik på Ny forespørgsel i SSMS-værktøjslinjen:
CREATE PROCEDURE-erklæringen
Indtast en OPRET PROCEDURE erklæring.
Eksempel
Her er et eksempel på en OPRET PROCEDURE erklæring:
CREATE PROCEDURE LatestTasks @Count int AS SET ROWCOUNT @Count SELECT TaskName AS LatestTasks, DateCreated FROM Tasks ORDER BY DateCreated DESC
Dette script opretter en lagret procedure kaldet LatestTasks, der accepterer en parameter kaldet Count.
Sådan skriver du en OPRET PROCEDURE-erklæring
Du starter dit script med CREATE PROCEDURE [procedure_name] AS.
For at oprette en lagret procedure kaldet GetCustomer, start med følgende:
CREATE PROCEDURE GetCustomer AS
Følg det med SQL-koden for den lagrede procedure – ligesom i eksemplet ovenfor.
Hvis den lagrede procedure skal acceptere parametre, skal du tilføje disse og deres datatype til den første linje. Præfiks parameternavnet med @ symbol.
For eksempel at tilføje en parameter kaldet CustomerId med datatypen Integer:
CREATE PROCEDURE GetCustomer @CustomerId int AS
Udfør erklæringen
Klik på Udfør knappen på værktøjslinjen for at køre SQL-sætningen, som opretter den lagrede procedure.
Alternativt kan du trykke på F5 tasten på dit tastatur.
Du skal nu se den lagrede procedure i Objekt Explorer.
Udfør den lagrede procedure
For at udføre eller kalde den lagrede procedure skal du enten bruge EXECUTE
eller EXEC
kommando (begge gør det samme).
Så det kan enten være dette:
EXECUTE GetCustomer @CustomerId = 7
eller dette:
EXEC GetCustomer @CustomerId = 7
Ovenstående overfører en parameter kaldet CustomerId med en værdi på 7. Ændring af denne værdi vil behandle en anden kunde.
Følgende skærmbillede viser effekten af at overføre en anden parameter. To EXEC sætninger køres efter den samme lagrede procedure, men hver enkelt sender en anden parameterværdi:
Udførelse af en lagret procedure fra GUI
Du kan kalde en lagret procedure direkte fra Object Explorer i SSMS GUI.
Du skal blot højreklikke på den lagrede procedure og vælge Udfør lagret procedure... :
Dette resulterer i, at følgende dialogboks "Udfør procedure" vises, hvor du kan angive værdier for alle parametre, som den lagrede procedure vil bruge: