【发布时间】:2019-12-09 03:18:58
【问题描述】:
如果参数匹配,我正在创建一个存储过程以将数据插入表中。
这是我的存储过程
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
但是当我运行它时,我收到了这个错误消息
消息 137,级别 15,状态 2,过程 spAutoRegistPosition,第 8 行 [批处理开始第 9 行]
必须声明标量变量“@int”。”
我已经尝试在 BEGIN 之后声明变量,但没有成功。
【问题讨论】:
标签: php sql sql-server ssms