过程没有提供参数和参数。虽然我已经提供

时间:2018-06-20 19:00:28

标签: sql sql-server-2008

我已经创建了一个存储过程,并传递了参数@ID

CREATE PROCEDURE GetEmployeeID
AS
    DECLARE @ID NUMERIC (10) 
    SET @ID = @ID
BEGIN
    SELECT * 
    FROM [Employees] 
    WHERE EmployeeID = @ID
END

像这样执行它:

EXEC  GetEmployeeID 8;

但是我得到这个错误:

  

消息8146,级别16,状态2,过程GetEmployeeID,第0行过程
  GetEmployeeID没有提供参数和参数。

1 个答案:

答案 0 :(得分:0)

您的存储过程没有任何输入参数。 ID是局部变量,在外部不可见。您应该使用:

CREATE PROCEDURE GetEmployeeID 
     @ID NUMERIC(10)
AS
BEGIN
    SELECT * 
    FROM [Employees] 
    WHERE EmployeeID = @ID;
END;

EXEC GetEmployeeID @ID = 8;

DBFiddle Demo