You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
6.5 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_archiveTxns_step_delete] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. -- EXEC proc_archiveTxns_step_delete
  9. CREATE proc [dbo].[proc_archiveTxns_step_delete]
  10. AS
  11. SET NOCOUNT ON;
  12. SET XACT_ABORT ON;
  13. PRINT CONVERT(VARCHAR, GETDATE(), 109)
  14. BEGIN TRY
  15. -- SELECT count(*) FROM FastMoneyPro_remit.dbo.remitTran rta WITH(NOLOCK)
  16. -- SELECT count(*) FROM FastMoneyPro_remit_Archive.dbo.remitTran rta WITH(NOLOCK)
  17. CREATE TABLE #archiveTxnQueue(t_id BIGINT UNIQUE, t_holdTranId BIGINT, t_controlNo VARCHAR(20))
  18. INSERT #archiveTxnQueue
  19. SELECT
  20. rt.id, rt.holdTranId, rt.controlNo
  21. FROM FastMoneyPro_remit_Archive.dbo.remitTran rta WITH(NOLOCK)
  22. INNER JOIN remitTran rt WITH(NOLOCK) ON rt.id = rta.id
  23. CREATE NONCLUSTERED INDEX atq_t_controlNo ON #archiveTxnQueue(t_controlNo) INCLUDE(t_holdTranId)
  24. BEGIN TRANSACTION
  25. EXEC proc_PrintLog 'Deleting... remitTran',NULL
  26. DELETE rt FROM remitTran rt INNER JOIN #archiveTxnQueue trt ON rt.id= trt.t_id
  27. EXEC proc_PrintLog 'Deleting... tranSenders',NULL
  28. DELETE rt FROM tranSenders rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  29. EXEC proc_PrintLog 'Deleting... tranReceivers',NULL
  30. DELETE rt FROM tranReceivers rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  31. EXEC proc_PrintLog 'Deleting... remitTranCompliance - id',NULL
  32. DELETE rt FROM remitTranCompliance rt INNER JOIN #archiveTxnQueue trt ON rt.tranId = trt.t_id
  33. EXEC proc_PrintLog 'Deleting... remitTranCompliance - holdTranId',NULL
  34. DELETE rt FROM remitTranCompliance rt INNER JOIN #archiveTxnQueue trt ON rt.tranId = trt.t_holdTranId
  35. EXEC proc_PrintLog 'Deleting... tranCancelrequest',NULL
  36. DELETE rt FROM tranCancelrequest rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  37. --EXEC proc_PrintLog 'Deleting... tranModifyLog',NULL
  38. --DELETE rt FROM tranModifyLog rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  39. EXEC proc_PrintLog 'Deleting... tranViewHistory',NULL
  40. DELETE rt FROM tranViewHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  41. EXEC proc_PrintLog 'Deleting... cancelTranHistory',NULL
  42. DELETE rt FROM cancelTranHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  43. EXEC proc_PrintLog 'Deleting... cancelTranReceiversHistory',NULL
  44. DELETE rt FROM cancelTranReceiversHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  45. EXEC proc_PrintLog 'Deleting... cancelTranSendersHistory',NULL
  46. DELETE rt FROM cancelTranSendersHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  47. EXEC proc_PrintLog 'Deleting... errPaidTran',NULL
  48. DELETE rt FROM errPaidTran rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  49. EXEC proc_PrintLog 'Deleting... errPaidTranHistory',NULL
  50. DELETE rt FROM errPaidTranHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
  51. COMMIT TRANSACTION
  52. SELECT '0' errorCode, CAST((SELECT COUNT(*) FROM #archiveTxnQueue) AS VARCHAR) + ' Transaction(s) deleted successfully' msg, NULL id
  53. END TRY
  54. BEGIN CATCH
  55. IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
  56. SELECT '1' rrrorCode, ERROR_MESSAGE() msg, NULL id
  57. END CATCH
  58. GO