【发布时间】:2012-03-28 10:32:09
【问题描述】:
我知道这是一个基本问题 - 但我无法找到完成此任务的正确方法。
我需要将变量传递给 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”。
但是,我声明了变量....我错过了什么?
【问题讨论】:
标签: sql-server sql-server-2008 stored-procedures