Files
GMW/GMW_DB/dmtx/Stored Procedures/zzz_resetDtx.sql
T
Samuele Locatelli e7da820ab0 pulizia codice SQL x maiuscole/minuscole
fix webconfig 218_test
2014-05-20 08:19:05 +02:00

80 lines
1.9 KiB
SQL

/*************************************************
* STORED zzz_resetDtx
*
* fa un reset di tutte le operazioni svolte sui datamatrix nelle ultime X ore x poter fare test, nelle tabelle
* - ElencoCartellini (che erano collegati ai dtx indicati...) porta qta a zero...
* - PosizioneUdcCorrente --> li elimina
* - toglie associazione DTX
* - Dtx2UDC
* - StoricoDtx2UDC
* - ElencoCartellini --> li elimina (quelli modificati nelle ultime X ore con qta a zero...)
*
* Steamware, S.E.L.
* mod: 2014.03.08
*
*************************************************/
CREATE PROCEDURE [dmtx].[zzz_resetDtx]
(
@ore INT = 0 -- default 0 ore = non fa nulla
)
AS
SET XACT_ABORT ON;
BEGIN TRAN
-- ElencoCartellini (che erano collegati ai dtx indicati...) porta qta a zero...
UPDATE ElencoCartellini
SET Qta = 0
WHERE UDC IN (
SELECT DISTINCT UDC
FROM Dtx2UDC
WHERE DataOra >= DATEADD(hour, @ore, GETDATE())
)
-- PosizioneUdcCorrente --> li elimina
DELETE
FROM PosizioneUdcCorrente
WHERE UDC IN (
SELECT DISTINCT UDC
FROM Dtx2UDC
WHERE DataOra >= DATEADD(hour, @ore, GETDATE())
)
-- toglie associazione DTX
UPDATE dtx
SET Associato = 0
FROM dmtx.v_ElencoDatamatrixBMW AS Dtx
INNER JOIN Dtx2UDC d2c ON Dtx.DataMatrix COLLATE SQL_Latin1_General_CP1_CI_AS = d2c.DataMatrix
WHERE d2c.DataOra >= DATEADD(hour, @ore, GETDATE())
AND dtx.Associato = 1
DELETE
FROM AL2UDC
WHERE UDC IN (
SELECT DISTINCT UDC
FROM Dtx2UDC
WHERE DataOra >= DATEADD(hour, @ore, GETDATE())
)
-- Dtx2UDC
DELETE
FROM Dtx2UDC
WHERE DataOra >= DATEADD(hour, - @ore, GETDATE())
-- StoricoDtx2UDC
DELETE
FROM StoricoDtx2UDC
WHERE DataEv >= DATEADD(hour, - @ore, GETDATE())
-- ElencoCartellini --> li elimina (quelli modificati nelle ultime X ore con qta a zero...)
DELETE
FROM ElencoCartellini
WHERE Qta = 0
and ModDate >= DATEADD(hour, @ore, GETDATE())
COMMIT Tran
RETURN