从sql server中的用户名更新密码



我正试图在SQL server 2012中创建一个存储过程,该过程将更新给定用户名的密码以及新密码。我收到一个错误"关键字'WHERE'附近的语法不正确"。有什么办法解决这个问题吗?谢谢

CREATE PROCEDURE [dbo].[ChangePassword] (@User_ID varchar(30), @Password varchar(20)) AS
INSERT INTO [User](Password)
VALUES (@Password)
WHERE User_ID = (@User_ID)

您正在尝试插入一条新记录,要更新现有记录,您需要使用UPDATE命令,请参阅下文。

CREATE PROCEDURE [dbo].[ChangePassword] 
@User_ID varchar(30), 
@Password varchar(20) 
AS
BEGIN
  SET NOCOUNT ON;
    UPDATE [User]
    SET [Password]  = @Password
    WHERE [USER_ID] = @User_ID
END

还要避免使用sql server关键字作为列名,如果您确实有这样的列,请确保在查询内部使用时在它们周围使用方括号[]

语法不正确。如果你想更新表格,试试这个:

CREATE PROCEDURE [dbo].[ChangePassword] 
@User_ID varchar(30), 
@Password varchar(20)
AS
UPDATE  [User]
SET Password = @Password
WHERE   User_ID = (@User_ID)

如果你想插入一个新用户,试试这个:

INSERT INTO [User] (User_ID, Password)
SELECT @User_ID, @Password

相关内容

  • 没有找到相关文章

最新更新