让用户更改自己邮箱

您的程序,邮箱也可以当作一个唯一值,每人只能注册一次。在让用户更改自己邮箱前,得判断邮箱是否已经被人注册。

请参考下面存储过程:

让用户更改自己邮箱 代码
CREATE   PROCEDURE   [ dbo ] . [ usp_Users_UpdateEmail ]
(
    
@ID   tinyint ,
    
@Email   nvarchar ( 150 )
)
AS     
-- 判断邮箱地址是否存在
IF   EXISTS ( SELECT   TOP   1   *   FROM   [ Users ]   WHERE   [ Email ]   =   @Email   AND   [ Email ]   <>   ''   AND   [ Email ]   IS   NOT   NULL   AND   [ UsersId ]   <>   @ID )
BEGIN
    
-- 如果存在,提示给用户。
     RAISERROR (N ' 此邮箱:%s已经存在,无法更新! ' , 16 , 1 , @Email )
    
RETURN
END
BEGIN   TRANSACTION
DECLARE   @err   int
    
-- 更新邮箱
     UPDATE   [ Users ]   SET   [ Email ]   =   @Email   WHERE   [ UsersId ]   =   @ID
    
SET   @err   =   @@ERROR
    
IF   @err   <>   0     
BEGIN
    
ROLLBACK   TRANSACTION         
END
    
COMMIT   TRANSACTION

你可能感兴趣的:(用户)