sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man skapar en lagrad procedur i SQL Server

Så här skapar du en lagrad procedur i SQL Server:

  1. Klicka på Ny fråga i SSMS-verktygsfältet
  2. Skriv (eller klistra in) en SKAPA PROCEDUR uttalande (exempel nedan)
  3. 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:


  1. Hur man skickar ett HTML-e-postmeddelande från SQL Server (T-SQL)

  2. Skaffa språket som för närvarande används i SQL Server

  3. Vad betyder nyckelordet KEY?

  4. Hur man tar bort ledande och efterföljande karaktärer i MySQL