DECLARE @DATA_FIM DATETIME
SET @DATA_FIM = CONVERT(DATETIME,'31/05/2014 23:59:59',103)
UPDATE CAIXA_PDV_MOVIMENTO SET COD_MOVIMENTO = NULL WHERE (DATA_HORA <= @DATA_FIM)
DECLARE @T TABLE (COD_MOVIMENTO INT)
INSERT INTO @T
SELECT
M.COD_MOVIMENTO
FROM MOVIMENTO M
WHERE (M.DATA_EMISSAO <= @DATA_FIM)
DECLARE @E TABLE (COD_TRANSACAO_ESTOQUE INT)
INSERT INTO @T
SELECT
M.COD_TRANSACAO_ESTOQUE
FROM TRANSACAO_ESTOQUE M
WHERE (M.DATA <= @DATA_FIM)
BEGIN TRAN
DELETE FROM MOVIMENTO_ITEM WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM MOVIMENTO_FINANCEIRO WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM TRANSACAO_ESTOQUE_MOVIMENTO WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM VENDA_CARTAO WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM TITULO_MOVIMENTO WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM VENDA WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM MOVIMENTO WHERE COD_MOVIMENTO IN(SELECT COD_MOVIMENTO FROM @T)
DELETE FROM TRANSACAO_ESTOQUE_ITEM WHERE COD_TRANSACAO_ESTOQUE IN(SELECT COD_TRANSACAO_ESTOQUE FROM @E)
DELETE FROM TRANSACAO_ESTOQUE_STATUS WHERE COD_TRANSACAO_ESTOQUE IN(SELECT COD_TRANSACAO_ESTOQUE FROM @E)
DELETE FROM TRANSACAO_ESTOQUE_TRANSF WHERE COD_TRANSACAO_ESTOQUE IN(SELECT COD_TRANSACAO_ESTOQUE FROM @E)
DELETE FROM TRANSACAO_ESTOQUE WHERE COD_TRANSACAO_ESTOQUE IN(SELECT COD_TRANSACAO_ESTOQUE FROM @E)
COMMIT TRAN
DELETE FROM REDUCAO_DETALHE WHERE COD_REDUCAO IN(SELECT COD_REDUCAO FROM REDUCAO WHERE DATA_MOVIMENTO <= @DATA_FIM)
DELETE FROM REDUCAO WHERE DATA_MOVIMENTO <= @DATA_FIM