我错过了什么。我已经研究过但是我收到了这个错误
Msg 102, Level 15, State 1, Procedure sp_Create_User, Line 33
Incorrect syntax near '='.
这是程序
CREATE PROCEDURE [dbo].[sp_Create_User]
-- variables from site for new user create
@lg_ID varchar(50),
@lg_PW nchar(10),
@locked int,
@agreed int
AS
BEGIN
SET NOCOUNT ON
INSERT INTO dbo.userLogin
(LoginID, password, locked, agreed)
VALUES
(@lg_ID, @lg_PW, @locked = 0, @agreed = 0)
END
答案 0 :(得分:0)
在INSERT语句之前,设置参数值,例如。
SET @locked = 0
SET @agreed = 0
...
您还必须删除VALUES中的分配,例如。
VALUES
(
@lg_ID,
@lg_PW,
@locked,
@agreed
)
答案 1 :(得分:0)
看起来你想要0作为@locked和@agreed的默认值。而不是@locked = 0尝试isnull(@locked, 0)
。 isnull用指定的替换值替换空值。
此外,您可以通过以下方式为存储过程参数创建默认值:
CREATE PROCEDURE [dbo].[sp_Create_User]
-- variables from site for new user create
@lg_ID varchar(50),
@lg_PW nchar(10),
@locked int = 0,
@agreed int = 0
AS