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

SQL Server - Problemer med at overføre variabel til en lagret procedure

Du har ikke erklæret en parameter, men en lokal variabel. For at erklære det, som du ville:

CREATE PROCEDURE pOrders (@enteredClientID varchar(20))
AS
    DECLARE @Results table (ClientID varchar(20), Num_orders int);

    SET NOCOUNT ON;

    -- Get all the order from the client
    INSERT INTO @Results
    SELECT ClientID, sum(Num_orders)
    FROM Orders O
    WHERE O.ClientID = @enteredClientID
    GROUP BY O.ClientID);

    -- Insert the orders into the results table --
    SELECT *
    FROM @Results;

GO;

For at kalde det:

exec pOrders @enteredClientID = 'ABC123456789'

eller blot

exec pOrders 'ABC123456789'


  1. Bestil efter de sidste 3 tegn

  2. Lås og transaktion i postgres, der skulle blokere en forespørgsel

  3. Django/PostgreSQL varchar til UUID

  4. Designmønster til brugerdefinerede felter i relationel database