Så här skapar du en lagrad procedur i SQL Server:
- Klicka på Ny fråga i SSMS-verktygsfältet
- Skriv (eller klistra in) en SKAPA PROCEDUR uttalande (exempel nedan)
- Klicka på Kör knappen i verktygsfältet
Detta lägger till den lagrade proceduren i databasen. Du kan se det under noden Stored Procedures i Objektutforskaren.
Nedan finns skärmdumpar och mer detaljer för stegen ovan.
Ny fråga
Klicka på Ny fråga i SSMS-verktygsfältet:
CREATE PROCEDURE Statement
Skriv en SKAPA PROCEDUR uttalande.
Exempel
Här är ett exempel på en SKAPA PROCEDUR uttalande:
CREATE PROCEDURE LatestTasks @Count int AS SET ROWCOUNT @Count SELECT TaskName AS LatestTasks, DateCreated FROM Tasks ORDER BY DateCreated DESC
Det här skriptet skapar en lagrad procedur som kallas LatestTasks som accepterar en parameter som heter Count.
Hur man skriver ett CREATE PROCEDUR-uttalande
Du startar ditt skript med CREATE PROCEDURE [procedurnamn] AS.
Till exempel, för att skapa en lagrad procedur som heter GetCustomer, börja med följande:
CREATE PROCEDURE GetCustomer AS
Följ det med SQL-koden för den lagrade proceduren – precis som i exemplet ovan.
Om den lagrade proceduren är att acceptera parametrar, lägg till dessa och deras datatyp på den första raden. Prefix parameternamnet med @ symbol.
Till exempel för att lägga till en parameter som heter CustomerId med datatypen Integer:
CREATE PROCEDURE GetCustomer @CustomerId int AS
Utför uttalandet
Klicka på Kör knappen i verktygsfältet för att köra SQL-satsen som skapar den lagrade proceduren.
Alternativt, tryck på F5 tangenten på ditt tangentbord.
Du bör nu se den lagrade proceduren i Objektutforskaren.
Utför den lagrade proceduren
För att köra eller anropa den lagrade proceduren använder du antingen EXECUTE
eller EXEC
kommando (båda gör samma sak).
Så det kan vara antingen detta:
EXECUTE GetCustomer @CustomerId = 7
eller detta:
EXEC GetCustomer @CustomerId = 7
Ovanstående skickar en parameter som kallas CustomerId med värdet 7. Om du ändrar detta värde skulle en annan kund behandlas.
Följande skärmdump visar effekten av att skicka en annan parameter. Två EXEC satser körs mot samma lagrade procedur, men var och en skickar ett annat parametervärde:
Exekvera en lagrad procedur från GUI
Du kan anropa en lagrad procedur direkt från objektutforskaren i SSMS-gränssnittet.
Högerklicka helt enkelt på den lagrade proceduren och välj Execute Stored Procedure... :
Detta resulterar i att följande dialogruta "Execute Procedure" visas, där du kan ange värden för alla parametrar som den lagrade proceduren kommer att använda: