39 lines
1.2 KiB
Transact-SQL
39 lines
1.2 KiB
Transact-SQL
|
|
-- =============================================
|
|
-- Author: S.E. Locatelli
|
|
-- Create date: 2014.01.16
|
|
-- Description: Procedura per import dati in ClientDet da dati ProductionLogRaw/ClientsRaw
|
|
-- =============================================
|
|
CREATE PROCEDURE [ext].[stp_mergeTranspCostDet]
|
|
(
|
|
@source NVARCHAR(20) = 'TranspCostRaw' -- nome della tabella sorgente tra ProductionLogRaw e ClientsRaw
|
|
)
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
|
|
-- Create a temporary table variable to hold the output actions.
|
|
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
|
|
|
-- import con MERGE... verifico tipo di caricamento richiesto!
|
|
IF @source = 'TranspCostRaw' -- carico da anagrafica
|
|
BEGIN
|
|
MERGE INTO TranspCostDet AS Target
|
|
USING (SELECT DISTINCT TranspZone, TranspCost FROM ext.TranspCostRaw)
|
|
AS Source
|
|
ON Target.TranspZone = Source.TranspZone
|
|
WHEN MATCHED THEN
|
|
UPDATE SET TranspCost = Source.TranspCost
|
|
WHEN NOT MATCHED BY TARGET THEN
|
|
INSERT (TranspZone, TranspCost) VALUES (TranspZone, TranspCost)
|
|
OUTPUT $action INTO @SummaryOfChanges;
|
|
|
|
END
|
|
|
|
-- Query the results of the table variable.
|
|
SELECT Change, COUNT(*) AS CountPerChange
|
|
FROM @SummaryOfChanges
|
|
GROUP BY Change;
|
|
END
|
|
|