mirror of
https://github.com/bitwarden/server
synced 2026-01-10 20:44:05 +00:00
43 lines
912 B
Transact-SQL
43 lines
912 B
Transact-SQL
CREATE PROCEDURE [dbo].[ProviderUser_DeleteByIds]
|
|
@Ids [dbo].[GuidIdArray] READONLY
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON
|
|
|
|
EXEC [dbo].[User_BumpAccountRevisionDateByProviderUserIds] @Ids
|
|
|
|
DECLARE @UserAndProviderIds [dbo].[TwoGuidIdArray]
|
|
|
|
INSERT INTO @UserAndProviderIds
|
|
(Id1, Id2)
|
|
SELECT
|
|
UserId,
|
|
ProviderId
|
|
FROM
|
|
[dbo].[ProviderUser] PU
|
|
INNER JOIN
|
|
@Ids PUIds ON PUIds.Id = PU.Id
|
|
WHERE
|
|
UserId IS NOT NULL AND
|
|
ProviderId IS NOT NULL
|
|
|
|
DECLARE @BatchSize INT = 100
|
|
|
|
-- Delete ProviderUsers
|
|
WHILE @BatchSize > 0
|
|
BEGIN
|
|
BEGIN TRANSACTION ProviderUser_DeleteMany_PUs
|
|
|
|
DELETE TOP(@BatchSize) PU
|
|
FROM
|
|
[dbo].[ProviderUser] PU
|
|
INNER JOIN
|
|
@Ids I ON I.Id = PU.Id
|
|
|
|
SET @BatchSize = @@ROWCOUNT
|
|
|
|
COMMIT TRANSACTION ProviderUser_DeleteMany_PUs
|
|
END
|
|
END
|
|
GO
|