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

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_archiveTxns_step_delete] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- EXEC proc_archiveTxns_step_delete
CREATE proc [dbo].[proc_archiveTxns_step_delete]
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
PRINT CONVERT(VARCHAR, GETDATE(), 109)
BEGIN TRY
-- SELECT count(*) FROM FastMoneyPro_remit.dbo.remitTran rta WITH(NOLOCK)
-- SELECT count(*) FROM FastMoneyPro_remit_Archive.dbo.remitTran rta WITH(NOLOCK)
CREATE TABLE #archiveTxnQueue(t_id BIGINT UNIQUE, t_holdTranId BIGINT, t_controlNo VARCHAR(20))
INSERT #archiveTxnQueue
SELECT
rt.id, rt.holdTranId, rt.controlNo
FROM FastMoneyPro_remit_Archive.dbo.remitTran rta WITH(NOLOCK)
INNER JOIN remitTran rt WITH(NOLOCK) ON rt.id = rta.id
CREATE NONCLUSTERED INDEX atq_t_controlNo ON #archiveTxnQueue(t_controlNo) INCLUDE(t_holdTranId)
BEGIN TRANSACTION
EXEC proc_PrintLog 'Deleting... remitTran',NULL
DELETE rt FROM remitTran rt INNER JOIN #archiveTxnQueue trt ON rt.id= trt.t_id
EXEC proc_PrintLog 'Deleting... tranSenders',NULL
DELETE rt FROM tranSenders rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... tranReceivers',NULL
DELETE rt FROM tranReceivers rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... remitTranCompliance - id',NULL
DELETE rt FROM remitTranCompliance rt INNER JOIN #archiveTxnQueue trt ON rt.tranId = trt.t_id
EXEC proc_PrintLog 'Deleting... remitTranCompliance - holdTranId',NULL
DELETE rt FROM remitTranCompliance rt INNER JOIN #archiveTxnQueue trt ON rt.tranId = trt.t_holdTranId
EXEC proc_PrintLog 'Deleting... tranCancelrequest',NULL
DELETE rt FROM tranCancelrequest rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
--EXEC proc_PrintLog 'Deleting... tranModifyLog',NULL
--DELETE rt FROM tranModifyLog rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... tranViewHistory',NULL
DELETE rt FROM tranViewHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... cancelTranHistory',NULL
DELETE rt FROM cancelTranHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... cancelTranReceiversHistory',NULL
DELETE rt FROM cancelTranReceiversHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... cancelTranSendersHistory',NULL
DELETE rt FROM cancelTranSendersHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... errPaidTran',NULL
DELETE rt FROM errPaidTran rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
EXEC proc_PrintLog 'Deleting... errPaidTranHistory',NULL
DELETE rt FROM errPaidTranHistory rt INNER JOIN #archiveTxnQueue trt ON rt.tranId= trt.t_id
COMMIT TRANSACTION
SELECT '0' errorCode, CAST((SELECT COUNT(*) FROM #archiveTxnQueue) AS VARCHAR) + ' Transaction(s) deleted successfully' msg, NULL id
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION
SELECT '1' rrrorCode, ERROR_MESSAGE() msg, NULL id
END CATCH
GO