Asp.net 如何使用aspnet\u users\u DeleteUser过程删除旧的aspnet用户?
我正在使用标准的aspnet成员表,我正在维护我们的数据库。我们希望删除所有一年内未登录的用户 我知道如何调用Asp.net 如何使用aspnet\u users\u DeleteUser过程删除旧的aspnet用户?,asp.net,sql-server,stored-procedures,asp.net-membership,Asp.net,Sql Server,Stored Procedures,Asp.net Membership,我正在使用标准的aspnet成员表,我正在维护我们的数据库。我们希望删除所有一年内未登录的用户 我知道如何调用aspnet\u Users\u DeleteUser存储过程来删除单个用户,但如何使用它删除aspnet\u Users.LastActivityDate
aspnet\u Users\u DeleteUser
存储过程来删除单个用户,但如何使用它删除aspnet\u Users.LastActivityDate1/2015'
中的所有用户
我可以编写一个SELECT语句来获取要删除的用户名,但是如何在每个用户名上执行该过程呢 这应该可以做到
Declare @ApplicationName nvarchar(256),
@UserName nvarchar(256),
@TablesToDeleteFrom int = 15,
@NumTablesDeletedFrom int
Declare cur
Cursor For
Select aa.LoweredApplicationName,
au.LoweredUserName
From [dbo].[aspnet_Users] au
Join [dbo].[aspnet_Applications] aa
On au.ApplicationId = aa.ApplicationId
Where LastActivityDate < '1/1/2015'
Open cur
Fetch Next
From cur
Into @ApplicationName,
@UserName
While @@FETCH_STATUS = 0
Begin
Exec [dbo].[aspnet_Users_DeleteUser]
@ApplicationName,
@UserName,
@TablesToDeleteFrom,
@NumTablesDeletedFrom Out
Fetch Next
From cur
Into @ApplicationName,
@UserName
End
Close cur
Deallocate cur
Declare@ApplicationName nvarchar(256),
@用户名nvarchar(256),
@表ToDeleteFrom int=15,
@NumTablesDeletedFrom int
申报cur
光标
选择aa.LoweredApplicationName,
au.LoweredUserName
来自[dbo].[aspnet_用户]au
加入[dbo].[aspnet_应用程序]aa
关于au.ApplicationId=aa.ApplicationId
其中LastActivityDate<'1/1/2015'
开路电流
接下一个
从cur
进入@ApplicationName,
@用户名
而@@FETCH\u STATUS=0
开始
Exec[dbo].[aspnet\u Users\u DeleteUser]
@应用程序名称,
@用户名,
@表TODELETEFROM,
@从输出中删除numTables
接下一个
从cur
进入@ApplicationName,
@用户名
终点
闭合电流
解除分配cur
您能提供一个过程调用示例吗?@tablestodeletfrom就是我想知道的那个。您对此使用的值是什么?EXEC@return\u value=[dbo].[aspnet\u Users\u DeleteUser]@ApplicationName=N'/'、@UserName=N'usernameToDelete'、@TablesToDeleteFrom=15、@NumTablesDeletedFrom=@NumTablesDeletedFrom输出
15的@TablesToDeleteFrom参数意味着从所有aspnet表中删除。