sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server - Problem med att skicka variabel till en lagrad procedur

Du deklarerade inte en parameter, utan en lokal variabel. För att deklarera det som du vill:

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;

Ett att kalla det:

exec pOrders @enteredClientID = 'ABC123456789'

eller helt enkelt

exec pOrders 'ABC123456789'


  1. infoga i select on duplicate mysql-fråga

  2. SQL för hierarkisk relation

  3. Ändra tabell med kommandot Sqitch Rework

  4. MySQL ODBC 5.1 Set Namn tillåts inte av drivrutinen