UpdateDB
This commit is contained in:
Binary file not shown.
@@ -1,71 +0,0 @@
|
||||
USE [StockMan]
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[stp_ItemShrinkHist] Script Date: 29/09/2016 23:44:55 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E.L.
|
||||
-- Create date: 2016.09.21
|
||||
-- Description: Riduce i movimenti per una data locazione-item (nulli, oppure a somma nulla a pari giorno)
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_ItemShrinkHist]
|
||||
(
|
||||
@ItemID INT = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
BEGIN tran
|
||||
-- elimino in primis i movimenti nulli...
|
||||
DELETE
|
||||
FROM ItemFlux
|
||||
WHERE Qta = 0
|
||||
AND ItemID = @ItemID
|
||||
|
||||
-- cerco movimenti di un item solo positivi o solo negativi
|
||||
;WITH cteAdd AS
|
||||
(
|
||||
SELECT *
|
||||
FROM ItemFlux
|
||||
WHERE Qta > 0
|
||||
AND ItemID = @ItemID
|
||||
), cteRem AS
|
||||
(
|
||||
SELECT *
|
||||
FROM ItemFlux
|
||||
WHERE Qta < 0
|
||||
AND ItemID = @ItemID
|
||||
)
|
||||
-- li incrocio e se si annullano..
|
||||
, cteNull AS
|
||||
(
|
||||
SELECT a.*
|
||||
FROM cteAdd a INNER JOIN cteRem r
|
||||
ON a.LocationID=r.LocationID
|
||||
AND a.dtMov = r.dtMov
|
||||
AND ABS(a.Qta) = ABS(r.Qta)
|
||||
)
|
||||
--select * from cteNull
|
||||
-- ora che li ho selezionati li elimino...
|
||||
DELETE iflx
|
||||
FROM ItemFlux iflx INNER JOIN cteNull cte
|
||||
ON iflx.LocationID = cte.LocationID
|
||||
AND iflx.ItemID = cte.ItemID
|
||||
AND iflx.dtMov = cte.dtMov
|
||||
WHERE ABS(iflx.Qta) = ABS(cte.Qta)
|
||||
|
||||
COMMIT tran
|
||||
END
|
||||
|
||||
GO
|
||||
|
||||
|
||||
Reference in New Issue
Block a user