1
ALTER
PROCEDURE
dbo.aspnet_Membership_UpdateUser
--
更新用户数据
2
@ApplicationName
NVARCHAR
(
256
),
3
@UserName
NVARCHAR
(
256
),
4
@Email
NVARCHAR
(
256
),
5
@Comment
NTEXT
,
6
@IsApproved
BIT
,
7
@LastLoginDate
DATETIME
,
8
@LastActivityDate
DATETIME
,
9
@UniqueEmail
INT
,
10
@TimeZoneAdjustment
INT
11
AS
12
BEGIN
13
DECLARE
@UserId
UNIQUEIDENTIFIER
14
DECLARE
@ApplicationId
UNIQUEIDENTIFIER
15
SELECT
@UserId
=
NULL
16
SELECT
@UserId
=
u.UserId,
@ApplicationId
=
a.ApplicationId
17
FROM
dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m
18
WHERE
LoweredUserName
=
LOWER
(
@UserName
)
AND
19
u.ApplicationId
=
a.ApplicationId
AND
20
LOWER
(
@ApplicationName
)
=
a.LoweredApplicationName
AND
21
u.UserId
=
m.UserId
22![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*查询此用户的用户ID和应用程序ID*/
23![None.gif](/Images/OutliningIndicators/None.gif)
24
IF
(
@UserId
IS
NULL
)
--
如果为空,返回1
25
RETURN
(
1
)
26![None.gif](/Images/OutliningIndicators/None.gif)
27
IF
(
@UniqueEmail
=
1
)
--
如果邮件地址唯一
28
BEGIN
29
IF
(
EXISTS
(
SELECT
*
30
FROM
dbo.aspnet_Membership
WITH
(UPDLOCK,
HOLDLOCK
)
31
WHERE
ApplicationId
=
@ApplicationId
AND
@UserId
<>
UserId
AND
LoweredEmail
=
LOWER
(
@Email
)))
32![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*如果存在相同的邮件地址,返回7(用户ID 不同,所以是判断是否有相同地址的意思)*/
33
BEGIN
34
RETURN
(
7
)
35
END
36
END
37![None.gif](/Images/OutliningIndicators/None.gif)
38
DECLARE
@TranStarted
BIT
39
SET
@TranStarted
=
0
40![None.gif](/Images/OutliningIndicators/None.gif)
41
IF
(
@@TRANCOUNT
=
0
)
--
如果当前活动事务为0,开始事务并设置事务参数为1
42
BEGIN
43
BEGIN
TRANSACTION
44
SET
@TranStarted
=
1
45
END
46
ELSE
47
SET
@TranStarted
=
0
48![None.gif](/Images/OutliningIndicators/None.gif)
49
UPDATE
dbo.aspnet_Membership
50
SET
51
Email
=
@Email
,
52
LoweredEmail
=
LOWER
(
@Email
),
53
Comment
=
@Comment
,
54
IsApproved
=
@IsApproved
,
55
LastLoginDate
=
DATEADD
(n,
-
@TimeZoneAdjustment
,
@LastLoginDate
)
56
WHERE
57
@UserId
=
UserId
58![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*更新表aspnet_Membership*/
59![None.gif](/Images/OutliningIndicators/None.gif)
60![None.gif](/Images/OutliningIndicators/None.gif)
61
IF
(
@@ERROR
<>
0
)
--
错误则回滚
62
GOTO
Cleanup
63![None.gif](/Images/OutliningIndicators/None.gif)
64
UPDATE
dbo.aspnet_Users
65
SET
66
LastActivityDate
=
DATEADD
(n,
-
@TimeZoneAdjustment
,
@LastActivityDate
)
67
WHERE
68
@UserId
=
UserId
69![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
/**/
/*更新表aspnet_Users*/
70
IF
(
@@ERROR
<>
0
)
--
错误则回滚
71
GOTO
Cleanup
72![None.gif](/Images/OutliningIndicators/None.gif)
73
IF
(
@TranStarted
=
1
)
74
BEGIN
75
SET
@TranStarted
=
0
76
COMMIT
TRANSACTION
77
END
78![None.gif](/Images/OutliningIndicators/None.gif)
79
RETURN
0
80![None.gif](/Images/OutliningIndicators/None.gif)
81
Cleanup:
82![None.gif](/Images/OutliningIndicators/None.gif)
83
IF
(
@TranStarted
=
1
)
84
BEGIN
85
SET
@TranStarted
=
0
86
ROLLBACK
TRANSACTION
87
END
88![None.gif](/Images/OutliningIndicators/None.gif)
89
RETURN
-
1
90
END
![None.gif](/Images/OutliningIndicators/None.gif)
2
![None.gif](/Images/OutliningIndicators/None.gif)
3
![None.gif](/Images/OutliningIndicators/None.gif)
4
![None.gif](/Images/OutliningIndicators/None.gif)
5
![None.gif](/Images/OutliningIndicators/None.gif)
6
![None.gif](/Images/OutliningIndicators/None.gif)
7
![None.gif](/Images/OutliningIndicators/None.gif)
8
![None.gif](/Images/OutliningIndicators/None.gif)
9
![None.gif](/Images/OutliningIndicators/None.gif)
10
![None.gif](/Images/OutliningIndicators/None.gif)
11
![None.gif](/Images/OutliningIndicators/None.gif)
12
![None.gif](/Images/OutliningIndicators/None.gif)
13
![None.gif](/Images/OutliningIndicators/None.gif)
14
![None.gif](/Images/OutliningIndicators/None.gif)
15
![None.gif](/Images/OutliningIndicators/None.gif)
16
![None.gif](/Images/OutliningIndicators/None.gif)
17
![None.gif](/Images/OutliningIndicators/None.gif)
18
![None.gif](/Images/OutliningIndicators/None.gif)
19
![None.gif](/Images/OutliningIndicators/None.gif)
20
![None.gif](/Images/OutliningIndicators/None.gif)
21
![None.gif](/Images/OutliningIndicators/None.gif)
22
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
23
![None.gif](/Images/OutliningIndicators/None.gif)
24
![None.gif](/Images/OutliningIndicators/None.gif)
25
![None.gif](/Images/OutliningIndicators/None.gif)
26
![None.gif](/Images/OutliningIndicators/None.gif)
27
![None.gif](/Images/OutliningIndicators/None.gif)
28
![None.gif](/Images/OutliningIndicators/None.gif)
29
![None.gif](/Images/OutliningIndicators/None.gif)
30
![None.gif](/Images/OutliningIndicators/None.gif)
31
![None.gif](/Images/OutliningIndicators/None.gif)
32
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
33
![None.gif](/Images/OutliningIndicators/None.gif)
34
![None.gif](/Images/OutliningIndicators/None.gif)
35
![None.gif](/Images/OutliningIndicators/None.gif)
36
![None.gif](/Images/OutliningIndicators/None.gif)
37
![None.gif](/Images/OutliningIndicators/None.gif)
38
![None.gif](/Images/OutliningIndicators/None.gif)
39
![None.gif](/Images/OutliningIndicators/None.gif)
40
![None.gif](/Images/OutliningIndicators/None.gif)
41
![None.gif](/Images/OutliningIndicators/None.gif)
42
![None.gif](/Images/OutliningIndicators/None.gif)
43
![None.gif](/Images/OutliningIndicators/None.gif)
44
![None.gif](/Images/OutliningIndicators/None.gif)
45
![None.gif](/Images/OutliningIndicators/None.gif)
46
![None.gif](/Images/OutliningIndicators/None.gif)
47
![None.gif](/Images/OutliningIndicators/None.gif)
48
![None.gif](/Images/OutliningIndicators/None.gif)
49
![None.gif](/Images/OutliningIndicators/None.gif)
50
![None.gif](/Images/OutliningIndicators/None.gif)
51
![None.gif](/Images/OutliningIndicators/None.gif)
52
![None.gif](/Images/OutliningIndicators/None.gif)
53
![None.gif](/Images/OutliningIndicators/None.gif)
54
![None.gif](/Images/OutliningIndicators/None.gif)
55
![None.gif](/Images/OutliningIndicators/None.gif)
56
![None.gif](/Images/OutliningIndicators/None.gif)
57
![None.gif](/Images/OutliningIndicators/None.gif)
58
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
59
![None.gif](/Images/OutliningIndicators/None.gif)
60
![None.gif](/Images/OutliningIndicators/None.gif)
61
![None.gif](/Images/OutliningIndicators/None.gif)
62
![None.gif](/Images/OutliningIndicators/None.gif)
63
![None.gif](/Images/OutliningIndicators/None.gif)
64
![None.gif](/Images/OutliningIndicators/None.gif)
65
![None.gif](/Images/OutliningIndicators/None.gif)
66
![None.gif](/Images/OutliningIndicators/None.gif)
67
![None.gif](/Images/OutliningIndicators/None.gif)
68
![None.gif](/Images/OutliningIndicators/None.gif)
69
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
70
![None.gif](/Images/OutliningIndicators/None.gif)
71
![None.gif](/Images/OutliningIndicators/None.gif)
72
![None.gif](/Images/OutliningIndicators/None.gif)
73
![None.gif](/Images/OutliningIndicators/None.gif)
74
![None.gif](/Images/OutliningIndicators/None.gif)
75
![None.gif](/Images/OutliningIndicators/None.gif)
76
![None.gif](/Images/OutliningIndicators/None.gif)
77
![None.gif](/Images/OutliningIndicators/None.gif)
78
![None.gif](/Images/OutliningIndicators/None.gif)
79
![None.gif](/Images/OutliningIndicators/None.gif)
80
![None.gif](/Images/OutliningIndicators/None.gif)
81
![None.gif](/Images/OutliningIndicators/None.gif)
82
![None.gif](/Images/OutliningIndicators/None.gif)
83
![None.gif](/Images/OutliningIndicators/None.gif)
84
![None.gif](/Images/OutliningIndicators/None.gif)
85
![None.gif](/Images/OutliningIndicators/None.gif)
86
![None.gif](/Images/OutliningIndicators/None.gif)
87
![None.gif](/Images/OutliningIndicators/None.gif)
88
![None.gif](/Images/OutliningIndicators/None.gif)
89
![None.gif](/Images/OutliningIndicators/None.gif)
90
![None.gif](/Images/OutliningIndicators/None.gif)