Я знаю, что это основной вопрос, но я не могу придумать правильный способ сделать это.
Мне нужно передать переменную в хранимую процедуру SQL Server 2008 и вернуть запрос.
Вот хранимая процедура:
CREATE PROCEDURE pOrders
AS
DECLARE @enteredClientID varchar(20);
DECLARE @Results table (ClientID varchar(20), Num_orders int);
BEGIN
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;
END
GO;
Теперь я бы выполнил хранимую процедуру и вернул результат:
exec pOrders
set @enteredClientID = 'ABC123456789'
Я получил это сообщение об ошибке:
Необходимо объявить скалярную переменную "@enteredClientID".
Но я объявляю переменную .... что мне не хватает?