我正在使用带有以下变量的表:
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
,但并不能解决错误。你知道如何解决这个问题吗?
答案 0 :(得分:0)
您在参数之间缺少逗号。另外,通常在参数周围加上括号。另外,您的意思是将@pkk与状态或用户ID进行比较
CREATE PROCEDURE pruebita(
@pkk INT,
@statitus INT)
AS
UPDATE user_details SET status = status+@statitus
WHERE @pkk=status;