让用户更改自己的帐号

本文介绍了一个用于更新用户账号的存储过程实现方式,包括检查系统预设账号和账号唯一性的逻辑,确保用户只能修改自己的账号,并避免冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般情况之下,只允许用户更改自己的密码与邮箱。下面方法设法让用户更改自己的帐号:

首先参考表[Users]:

写一个存储过程,存储过程中有一个自定义函数udf_ExclusionAccount,请参考http://www.cnblogs.com/insus/articles/1407256.html

代码
CREATE   PROCEDURE   [ dbo ] . [ usp_Users_UpdateAccount ]
(
    
@ID   tinyint ,
    
@Account   nvarchar ( 30 )
)
AS
-- 限制用户不能更改为系统预定帐号
IF (( [ dbo ] . [ udf_ExclusionAccount ] ( @Account =   1 AND  ( @ID   !=   1 )) 
BEGIN
    
RAISERROR (N ' 此帐号:%s是系统预定帐号,无法更改! ' , 16 , 1 , @Account )
    
RETURN
END     
-- 判断更改的帐号是否已经被使用    
ELSE   IF   EXISTS ( SELECT   TOP   1   *   FROM   [ Users ]   WHERE   [ Account ] = @Account   AND   [ UsersId ] <> @ID )
BEGIN
    
RAISERROR (N ' 此帐号:%s已经存在,无法更改! ' , 16 , 1 , @Account )
    
RETURN
END
BEGIN   TRANSACTION
    
-- 更新帐号
     UPDATE   [ Users ]   SET   [ Account ]   =   @Account   WHERE   [ UsersId ]   =   @ID
    
IF   @@ERROR   <>   0     
    
BEGIN
        
ROLLBACK   TRANSACTION         
    
END         
        
COMMIT   TRANSACTION

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值