Veikedo

Billy3 clear test users

Sep 20th, 2017
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.94 KB | None | 0 0
  1. GO
  2. BEGIN TRANSACTION [ClearTestUsersTransaction]
  3.  
  4. BEGIN TRY
  5. SELECT
  6.   u.RId  UserId,
  7.   p.RId  PostId,
  8.   sa.Id  SurveyAnswerId,
  9.   pn.RId PostNotificationId,
  10.   r.RId  ReplyId,
  11.   cl.Id  CreditsLedgerId,
  12.   ra.RId ReplyActionId,
  13.   ts.RId TimeSlotId,
  14.   at.RId AuditTrailId
  15. INTO #toRemove
  16. FROM Users u
  17.   LEFT JOIN Posts p ON u.RId = p.UserId
  18.   LEFT JOIN SurveyAnswers sa ON p.RId = sa.PostId
  19.   LEFT JOIN PostsNotifications pn ON pn.PostId = p.RId
  20.   LEFT JOIN Replies r ON r.PostId = p.RId
  21.   LEFT JOIN CreditsLedger cl ON cl.ReplyId = r.RId
  22.   LEFT JOIN ReplyActions ra ON ra.ReplyId = r.RId
  23.   LEFT JOIN TimeSlots ts ON ts.PostId = p.RId
  24.   LEFT JOIN AuditTrail at ON at.UserId = u.RId
  25. WHERE (u.ZipCode = '00737' OR u.ZipCode = '00923') AND Password IS NULL
  26.  
  27. DELETE FROM SurveyAnswers
  28. WHERE Id IN (SELECT SurveyAnswerId
  29.              FROM #toRemove)
  30.  
  31. DELETE FROM PostsNotifications
  32. WHERE RId IN (SELECT PostNotificationId
  33.               FROM #toRemove)
  34.  
  35. DELETE FROM CreditsLedger
  36. WHERE Id IN (SELECT CreditsLedgerId
  37.              FROM #toRemove)
  38.  
  39. DELETE FROM ReplyActions
  40. WHERE RId IN (SELECT ReplyActionId
  41.               FROM #toRemove)
  42.  
  43. DELETE FROM TimeSlots
  44. WHERE RId IN (SELECT TimeSlotId
  45.               FROM #toRemove)
  46.  
  47. DELETE FROM Replies
  48. WHERE RId IN (SELECT ReplyId
  49.               FROM #toRemove)
  50.  
  51. DELETE FROM Posts
  52. WHERE RId IN (SELECT PostId
  53.               FROM #toRemove)
  54.  
  55. DELETE FROM AuditTrail
  56. WHERE RId IN (SELECT AuditTrailId
  57.               FROM #toRemove)
  58.  
  59. DELETE FROM Users
  60. WHERE RId IN (SELECT UserId
  61.               FROM #toRemove)
  62.  
  63. DROP TABLE #toRemove
  64. COMMIT TRANSACTION [ClearTestUsersTransaction]
  65.  
  66. END TRY
  67. BEGIN CATCH
  68. ROLLBACK TRANSACTION [ClearTestUsersTransaction]
  69. SELECT
  70.   ERROR_NUMBER()    AS ErrorNumber,
  71.   ERROR_SEVERITY()  AS ErrorSeverity,
  72.   ERROR_STATE()     AS ErrorState,
  73.   ERROR_PROCEDURE() AS ErrorProcedure,
  74.   ERROR_LINE()      AS ErrorLine,
  75.   ERROR_MESSAGE()   AS ErrorMessage;
  76. END CATCH
  77.  
  78. GO
Advertisement
Add Comment
Please, Sign In to add comment