繁体   English   中英

从SQL Server中的用户名更新密码

[英]update password from username in 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM