sql >> Database >  >> RDS >> Sqlserver

SQL Server - Probleem bij het doorgeven van een variabele aan een opgeslagen procedure

Je hebt geen parameter gedeclareerd, maar een lokale variabele. Om het te declareren zoals je wilde:

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;

Een om het te noemen:

exec pOrders @enteredClientID = 'ABC123456789'

of gewoon

exec pOrders 'ABC123456789'


  1. MySQL-update als waarde groter is dan die huidige waarde

  2. Consolideer verschillende Oracle-triggers. Enige prestatie-impact?

  3. Wat is het verschil tussen || operator en concat-functie in Oracle?

  4. SQLite-datum en tijd