我知道這是一個基本問題 - 但我無法找到完成此操作的正確方法。SQL Server - 將變量傳遞給存儲過程時遇到問題
我需要將一個變量傳遞給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」。
但是,我聲明變量....我錯過了什麼?
只是一個建議:它可能是有意義的使用表值函數而不是一個滿足這種需求的程序......但這超出了問題的範圍:-) – Rose 2012-03-12 00:07:04