我正在创建一个存储过程,以在参数匹配的情况下将数据插入表中。
这是我的存储过程
@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之后声明变量,但没有用。
看到人家提示的and没?and前后要加空格,我就是忘记加空格报的这个错,你的应该也是那个没加空格的事,仔细检查一下就好了!!! 希望帮到你们哦~~
Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 “@P0and”。 The error may exist in file [D:\lei\ncdy_utils\updateJingWeiDu\target\classes\mapping\jingWeiDu.xml] The error may involve com.ncdy.ncdy.mapper.jingWeiDuMapper.queryFangyingdian-Inline The error occurred while setting parameters SQL: SELECT [sys_id],[mvp_code],[mvp_name],[mvp_type],[mvp_cgps_lng],[mvp_cgps_lat],[mvp_radius_gps], [mvp_cbaidu_lat],[mvp_radius_baidu],[lt_lng],[lt_lat],[rb_lng],[rb_lat],[mv_code], [mvp_add],[create_time],[del_status],[del_time],[point_status] FROM [MspDB].[dbo].[msp_vpoint]where mvp_name=?and mvp_add=?; Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明标量变量 “@P0and”。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。