如何修复 "Must declare the scalar variable "@int"
How to fix "Must declare the scalar variable "@int"
我正在创建一个存储过程,以便在参数匹配时将数据插入 table。
这是我的存储过程
CREATE PROCEDURE [dbo].[spAutoRegistPosition]
@Position varchar(255),
@UserID int
AS
IF NOT EXISTS (SELECT * FROM dbo.UserXUserGroup WHERE UserID = @int)
BEGIN
-- INSERT HERE
IF @Position = 'Manager'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 4)
ELSE IF @Position = 'GM'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
ELSE IF @Position = 'Direktur'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
END
GO
但是当我 运行 收到此错误消息时
Msg 137, Level 15, State 2, Procedure spAutoRegistPosition, Line 8 [Batch Start Line 9]
Must declare the scalar variable "@int"."
我已经尝试在 BEGIN 之后声明变量,但没有成功。
您没有变量 @INT
。似乎您想使用 @UserID
。
CREATE PROCEDURE [dbo].[spAutoRegistPosition]
@Position varchar(255),
@UserID int
AS
IF NOT EXISTS (SELECT * FROM dbo.UserXUserGroup WHERE UserID = @UserID)
BEGIN
-- INSERT HERE
IF @Position = 'Manager'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 4)
ELSE IF @Position = 'GM'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
ELSE IF @Position = 'Direktur'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
END
GO
我正在创建一个存储过程,以便在参数匹配时将数据插入 table。
这是我的存储过程
CREATE PROCEDURE [dbo].[spAutoRegistPosition]
@Position varchar(255),
@UserID int
AS
IF NOT EXISTS (SELECT * FROM dbo.UserXUserGroup WHERE UserID = @int)
BEGIN
-- INSERT HERE
IF @Position = 'Manager'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 4)
ELSE IF @Position = 'GM'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
ELSE IF @Position = 'Direktur'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
END
GO
但是当我 运行 收到此错误消息时
Msg 137, Level 15, State 2, Procedure spAutoRegistPosition, Line 8 [Batch Start Line 9]
Must declare the scalar variable "@int"."
我已经尝试在 BEGIN 之后声明变量,但没有成功。
您没有变量 @INT
。似乎您想使用 @UserID
。
CREATE PROCEDURE [dbo].[spAutoRegistPosition]
@Position varchar(255),
@UserID int
AS
IF NOT EXISTS (SELECT * FROM dbo.UserXUserGroup WHERE UserID = @UserID)
BEGIN
-- INSERT HERE
IF @Position = 'Manager'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 4)
ELSE IF @Position = 'GM'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
ELSE IF @Position = 'Direktur'
INSERT INTO dbo.UserXUserGroup(UserID, UserGroupID)
VALUES (@UserID, 3)
END
GO