SQL Server告诉我必须声明标量变量

时间:2020-04-11 21:22:36

标签: sql-server

我正在使用带有以下变量的表:

CREATE TABLE user_details(
  user_id int NOT NULL,
  username varchar(255) DEFAULT NULL,
  first_name varchar(50) DEFAULT NULL,
  last_name varchar(50) DEFAULT NULL,
  gender varchar(10) DEFAULT NULL,
  password varchar(50) DEFAULT NULL,
  status INT DEFAULT NULL,
)

到那时,一切都很棒。但是当我想创建这样的过程时:

CREATE PROCEDURE pruebita
@pkk INT
@statitus INT
AS
UPDATE user_details SET status = status+@statitus
WHERE status  @pkk=status;

Msg 102,第15级,状态1,程序pruebita,第22行不正确 @statitus附近的语法。消息137,第15级,状态2,程序 pruebita,第24行必须声明标量变量“ @statitus”。

我在DECLARE@pkk之前输入了@statitus,但并不能解决错误。你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您在参数之间缺少逗号。另外,通常在参数周围加上括号。另外,您的意思是将@pkk与状态或用户ID进行比较

CREATE PROCEDURE pruebita(
@pkk INT,
@statitus INT)
AS
UPDATE user_details SET status = status+@statitus
WHERE @pkk=status;