51 lines
2.0 KiB
Transact-SQL
51 lines
2.0 KiB
Transact-SQL
|
|
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2014.01.08
|
|
-- Description: Procedura per import dati in DiesDet da dati DiesGroupRaw
|
|
-- Il caricamento principale avviene tramite DiesRaw, questa
|
|
-- serve solo per completare i dati mancanti
|
|
-- =============================================
|
|
CREATE PROCEDURE [ext].[stp_mergeDiesGroupDet]
|
|
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
-- Create a temporary table variable to hold the output actions.
|
|
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
|
|
|
SET XACT_ABORT ON
|
|
|
|
BEGIN TRAN
|
|
|
|
-- vado ad aggiornare i dati dei gruppi di matrici SOLO x i campi <> 0 ( li ritengo come non passati )
|
|
MERGE INTO dbo.DiesGroupDet AS Target
|
|
USING ( SELECT * FROM ext.DiesGroupRaw )
|
|
AS Source
|
|
ON Target.CodDiesGroup = Source.CodDiesGroup
|
|
WHEN MATCHED THEN
|
|
UPDATE SET Price = CASE Source.Price WHEN 0 THEN Target.Price ELSE Source.Price END
|
|
, QtyTot = CASE Source.QtyTot WHEN 0 THEN Target.QtyTot ELSE Source.QtyTot END
|
|
, QtyEOL = CASE Source.QtyEOL WHEN 0 THEN Target.QtyEOL ELSE Source.QtyEOL END
|
|
, ExpLife = CASE Source.ExpLife WHEN 0 THEN Target.ExpLife ELSE Source.ExpLife END
|
|
, EOLLife = CASE Source.EOLLife WHEN 0 THEN Target.EOLLife ELSE Source.EOLLife END
|
|
, DateMod = GETDATE()
|
|
, UserMod = 'UPDATE_DiesGroupRaw'
|
|
WHEN NOT MATCHED BY TARGET THEN
|
|
INSERT ( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife, DateMod, UserMod )
|
|
VALUES ( Source.CodDiesGroup, Source.Price, Source.QtyTot, Source.QtyEOL, Source.ExpLife, Source.EOLLife, GETDATE(), 'INSERT_DiesGroupRaw' )
|
|
-- VALUES ( CodDiesGroup, 0, 1, 0, 0.1, 0.1 ) -- mi da errori in calcoli successivi altrimenti con 0 a ExpLife e EOLLife
|
|
OUTPUT $action INTO @SummaryOfChanges;
|
|
|
|
COMMIT TRAN
|
|
|
|
-- Query the results of the table variable.
|
|
SELECT Change, COUNT(*) AS CountPerChange
|
|
FROM @SummaryOfChanges
|
|
GROUP BY Change;
|
|
END
|
|
|
|
|