sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan opretter du en lagret procedure i SQL Server

Sådan opretter du en lagret procedure i SQL Server:

  1. Klik på Ny forespørgsel på SSMS-værktøjslinjen
  2. Skriv (eller indsæt) en OPRET PROCEDURE erklæring (eksempel nedenfor)
  3. 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:


  1. 4 måder at indsætte flere rækker på i Oracle

  2. Returner Unix-tidsstemplet i PostgreSQL

  3. Returner en liste over databaser i SQLite

  4. SQL Server:Dynamisk where-klausul