none
Confronto su MERGE istanze differenti RRS feed

  • Domanda

  • Ciao, non capisco perchè il confronto in seguito non viene eseguito correttamente. Devo confrontare dei dati provenienti da altra istanza: eseguo tramite una vista un insert in una tabella temporanea sull'istanza dove viene eseguito il merge...

    In particolare il CASE non esegue il confronto corretto per alcuni campi Decimal e Varchar ma non ne capisco il motivo... la struttura delle tabelle temporanea e targhet sono uguali... forse sbaglio l'approccio... avete consigli in merito?.. alla fine ho risolto eliminando i CASE per i campi dove il confronto non fa quello che mi aspettavo...

    Grazie anticipate

    USE [GateOne_Test]
    GO
    /****** Object:  StoredProcedure [dbo].[ALDSp_Aggiorna_ExportAppGest_TIKET]    Script Date: 14/09/2020 11:08:28 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    
    
    
    
    -- Batch submitted through debugger: SQLQuery5.sql|7|0|C:\Users\adminbernabe\AppData\Local\Temp\2\~vs98B5.sql
    ALTER PROCEDURE [dbo].[ALDSp_Aggiorna_ExportAppGest_TIKET] (@DBASE as varchar(30)) AS
    
    BEGIN
    
    /******************************
    Autore: Sara
    Data: 19-9-2019
    Usato da: 
    Commessa: 
    Descrizione: Confronto tabelle di SICURA e GATEONE per import ticket
    
    Parametri: 
    Modifiche (chi, quando, cosa):
    24/10/2019 Sara :aggiunto agente
    21/11/2019 Sara: getdate su DataImportazione
    *******************************/
    
    DECLARE @vSQL1 as varchar(max)
    
    /*** Creo la Tabella TEMP di origine ***/
    SET @vSQL1 = '
    SELECT [IdTestaDocCli]      ,[IDRigaDocCli]      ,
    		isnull([IdTesta_ORS],0) IdTesta_ORS     ,isnull([IdRiga_ORS],0)   IdRiga_ORS         ,[EsercizioCLI]      ,[TipoDocCli]
          ,[NumeroDocCli]      ,[BisCli]      ,[DataDocCli]      ,[DOCCHIUSO]      ,[NumRifDocCli]      ,[DataRifDocCli]
          ,[IdTrust]      ,[DscTrust]      ,[STATOORDINI]      ,[NaturaTrust]      ,[TIPORIGA]      ,[PosizioneRigaCli]
          ,[NumDoc_ORS]      ,[DATADOC_ORS]      ,[POSIZIONE_R_ORS]      ,[CodiceArticolo]      ,[CodFornitore]      
    	  ,[RAGSOCDDMForn] ,     [INDIRIZZODDMForn] ,       [CAPDDMForn] ,       [LOCALITADDMForn],[PROVINCIADDMForn]
    	  ,[codCliente]
          ,[RifStabilimento]      ,[RAGSOCDDM]      ,[INDIRIZZODDM]      ,[CAPDDM]      ,[LOCALITADDM]      ,[PROVINCIADDM]
          ,[RifCommessaCliente]      ,[DescrizioneCommessaCli]      ,[DataConsegnaCli]      ,[NomeTicket]      ,     isnull([PrezzoUnitNettoEuroCli],0) [PrezzoUnitNettoEuroCli]
    	  ,[RSPP_RESPONSABILE]      ,[Dsc_RSPP]      ,[RefPM]      ,[Dsc_RefPM]      ,[RefSegrCons]      ,[Dsc_RefSegrCons]
          ,[RefSegrForm_T]      ,[Dsc_RefSegrForm]      ,[MEDICORESPONSABILE]      ,[Dsc_MedicoResp]      ,[IdDivisione]
          ,[DscDivisione]      ,[TempoPrevisto]      ,[Descrizione]      ,[DscRigaArticoloAgg]      ,[DataModifica_DocCli]
          ,[DataModifica_DocsFornitore]	   ,[Qta] , CODAGENTE1, DscAgente1,RIGACHIUSA
    
    INTO #tmpTicket
    
    FROM '+@DBASE+'.dbo.Vista_ExportAppGest_VTETicket
    WHERE        (IdTestaDocCli  >=1300000)
     
    MERGE ALD_ExportAppGest_VTETicket  AS TARGET
    
    
    USING #tmpTicket AS SOURCE 
    ON (TARGET.[IdTestaDocCli] = SOURCE.[IdTestaDocCli]
    AND TARGET.[IDRigaDocCli] = SOURCE.[IDRigaDocCli]
    AND TARGET.[StatoImportazione] <>''D''
    ) 
    
    
    WHEN MATCHED 
    
    AND 
    
    (    
    
    DATEADD(minute, datediff(minute, 0, TARGET.[DataModifica_DocCli]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocCli]), 0) OR
    DATEADD(minute, datediff(minute, 0, TARGET.[DataModifica_DocsFornitore]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocsFornitore]), 0)
    
    
    --convert(datetime, TARGET.[DataModifica_DocCli], 126) <> convert(datetime, SOURCE.[DataModifica_DocCli], 126) OR
    --convert(datetime, TARGET.[DataModifica_DocsFornitore], 126) <> convert(datetime, SOURCE.[DataModifica_DocsFornitore], 126) 
    
    )
    
    THEN 
    
    
    
    UPDATE SET
    
      TARGET.[EsercizioCLI] = (CASE WHEN TARGET.[EsercizioCLI] <> SOURCE.[EsercizioCLI] THEN SOURCE.[EsercizioCLI] ELSE  TARGET.[EsercizioCLI] END)
    , TARGET.[TipoDocCli] = (CASE WHEN TARGET.[TipoDocCli] <> SOURCE.[TipoDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[TipoDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[TipoDocCli] END)
    , TARGET.[NumeroDocCli] = (CASE WHEN TARGET.[NumeroDocCli] <> SOURCE.[NumeroDocCli] THEN SOURCE.[NumeroDocCli] ELSE TARGET.[NumeroDocCli] END)
    , TARGET.[BisCli] = (CASE WHEN TARGET.[BisCli] <> SOURCE.[BisCli] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[BisCli] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[BisCli] END)
    , TARGET.[DataDocCli] = (CASE WHEN TARGET.[DataDocCli] <> SOURCE.[DataDocCli] THEN SOURCE.[DataDocCli] ELSE TARGET.[DataDocCli] END)
    , TARGET.[DOCCHIUSO] = (CASE WHEN TARGET.[DOCCHIUSO] <> SOURCE.[DOCCHIUSO] THEN SOURCE.[DOCCHIUSO] ELSE TARGET.[DOCCHIUSO] END)
    , TARGET.[NumRifDocCli] = (CASE WHEN TARGET.[NumRifDocCli] <> SOURCE.[NumRifDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[NumRifDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS  ELSE TARGET.[NumRifDocCli]  END)
    , TARGET.[DataRifDocCli] = (CASE WHEN TARGET.[DataRifDocCli] <> SOURCE.[DataRifDocCli] THEN SOURCE.[DataRifDocCli] ELSE TARGET.[DataRifDocCli] END)
    , TARGET.[IdTrust] = (CASE WHEN TARGET.[IdTrust] <> SOURCE.[IdTrust] THEN SOURCE.[IdTrust] ELSE TARGET.[IdTrust] END)
    , TARGET.[DscTrust] = (CASE WHEN TARGET.[DscTrust] <> SOURCE.[DscTrust] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[DscTrust] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[DscTrust] END)
    , TARGET.[STATOORDINI] = (CASE WHEN TARGET.[STATOORDINI] <> SOURCE.[STATOORDINI] THEN SOURCE.[STATOORDINI] ELSE TARGET.[STATOORDINI] END)
    , TARGET.[NaturaTrust] = (CASE WHEN TARGET.[NaturaTrust] <> SOURCE.[NaturaTrust] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[NaturaTrust] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[NaturaTrust] END)
    , TARGET.[TIPORIGA] = (CASE WHEN TARGET.[TIPORIGA] <> SOURCE.[TIPORIGA] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[TIPORIGA] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[TIPORIGA] END)
    , TARGET.[PosizioneRigaCli] = (CASE WHEN TARGET.[PosizioneRigaCli] <> SOURCE.[PosizioneRigaCli] THEN SOURCE.[PosizioneRigaCli] ELSE TARGET.[PosizioneRigaCli] END)
    , TARGET.[CodiceArticolo] = (CASE WHEN TARGET.[CodiceArticolo] <> SOURCE.[CodiceArticolo] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[CodiceArticolo] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[CodiceArticolo] END)
    , TARGET.[codCliente] = (CASE WHEN TARGET.[codCliente] <> SOURCE.[codCliente] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[codCliente] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[codCliente] END)
    , TARGET.[RifStabilimento] = (CASE WHEN TARGET.[RifStabilimento] <> SOURCE.[RifStabilimento] THEN SOURCE.[RifStabilimento]  ELSE SOURCE.[RifStabilimento]  END)
    , TARGET.[RAGSOCDDM] = (CASE WHEN TARGET.[RAGSOCDDM] <> SOURCE.[RAGSOCDDM] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[RAGSOCDDM] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[RAGSOCDDM] END)
    , TARGET.[INDIRIZZODDM] = (CASE WHEN TARGET.[INDIRIZZODDM] <> SOURCE.[INDIRIZZODDM] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[INDIRIZZODDM] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[INDIRIZZODDM] END)
    , TARGET.[CAPDDM] = (CASE WHEN TARGET.[CAPDDM] <> SOURCE.[CAPDDM] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[CAPDDM] COLLATE SQL_Latin1_General_CP1_CI_AS  ELSE TARGET.[CAPDDM] END)
    , TARGET.[LOCALITADDM] = (CASE WHEN TARGET.[LOCALITADDM] <> SOURCE.[LOCALITADDM] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[LOCALITADDM] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[LOCALITADDM] END)
    , TARGET.[PROVINCIADDM] = (CASE WHEN TARGET.[PROVINCIADDM] <> SOURCE.[PROVINCIADDM] COLLATE SQL_Latin1_General_CP1_CI_AS THEN SOURCE.[PROVINCIADDM] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[PROVINCIADDM]   END)
    , TARGET.[RifCommessaCliente] = (CASE WHEN TARGET.[RifCommessaCliente] <> SOURCE.[RifCommessaCliente] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[RifCommessaCliente] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[RifCommessaCliente]  END)
    , TARGET.[DescrizioneCommessaCli] = (CASE WHEN TARGET.[DescrizioneCommessaCli] <> SOURCE.[DescrizioneCommessaCli] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[DescrizioneCommessaCli] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[DescrizioneCommessaCli] END)
    , TARGET.[DataConsegnaCli] = (CASE WHEN TARGET.[DataConsegnaCli] <> SOURCE.[DataConsegnaCli] THEN SOURCE.[DataConsegnaCli] ELSE TARGET.[DataConsegnaCli]  END)
    , TARGET.[NomeTicket] = (CASE WHEN TARGET.[NomeTicket] <> SOURCE.[NomeTicket] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[NomeTicket] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[NomeTicket]  END)
    , TARGET.[PrezzoUnitNettoEuroCli] = (CASE WHEN TARGET.[PrezzoUnitNettoEuroCli] <> SOURCE.[PrezzoUnitNettoEuroCli] THEN SOURCE.[PrezzoUnitNettoEuroCli] ELSE TARGET.[PrezzoUnitNettoEuroCli]  END)
    , TARGET.[RSPP_RESPONSABILE] = (CASE WHEN TARGET.[RSPP_RESPONSABILE] <> SOURCE.[RSPP_RESPONSABILE] THEN SOURCE.[RSPP_RESPONSABILE] ELSE TARGET.[RSPP_RESPONSABILE]   END)
    , TARGET.[Dsc_RSPP] = (CASE WHEN TARGET.[Dsc_RSPP] <> SOURCE.[Dsc_RSPP] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Dsc_RSPP] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Dsc_RSPP]  END)
    , TARGET.[RefPM] = (CASE WHEN TARGET.[RefPM] <> SOURCE.[RefPM] THEN SOURCE.[RefPM] ELSE TARGET.[RefPM]   END)
    , TARGET.[Dsc_RefPM] = (CASE WHEN TARGET.[Dsc_RefPM] <> SOURCE.[Dsc_RefPM] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Dsc_RefPM] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Dsc_RefPM]  END)
    , TARGET.[RefSegrCons] = (CASE WHEN TARGET.[RefSegrCons] <> SOURCE.[RefSegrCons] THEN SOURCE.[RefSegrCons]  ELSE TARGET.[RefSegrCons]  END)
    , TARGET.[Dsc_RefSegrCons] = (CASE WHEN TARGET.[Dsc_RefSegrCons] <> SOURCE.[Dsc_RefSegrCons] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Dsc_RefSegrCons] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Dsc_RefSegrCons]  END)
    , TARGET.[RefSegrForm_T] = (CASE WHEN TARGET.[RefSegrForm_T] <> SOURCE.[RefSegrForm_T] THEN SOURCE.[RefSegrForm_T] ELSE TARGET.[RefSegrForm_T]  END)
    , TARGET.[Dsc_RefSegrForm] = (CASE WHEN TARGET.[Dsc_RefSegrForm] <> SOURCE.[Dsc_RefSegrForm] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Dsc_RefSegrForm] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Dsc_RefSegrForm]  END)
    , TARGET.[MEDICORESPONSABILE] = (CASE WHEN TARGET.[MEDICORESPONSABILE] <> SOURCE.[MEDICORESPONSABILE] THEN SOURCE.[MEDICORESPONSABILE]   ELSE TARGET.[MEDICORESPONSABILE]  END)
    , TARGET.[Dsc_MedicoResp] = (CASE WHEN TARGET.[Dsc_MedicoResp] <> SOURCE.[Dsc_MedicoResp] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Dsc_MedicoResp] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Dsc_MedicoResp]  END)
    , TARGET.[IdDivisione] = (CASE WHEN TARGET.[IdDivisione] <> SOURCE.[IdDivisione] THEN SOURCE.[IdDivisione]   ELSE TARGET.[IdDivisione] END)
    , TARGET.[DscDivisione] = (CASE WHEN TARGET.[DscDivisione] <> SOURCE.[DscDivisione] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[DscDivisione] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[DscDivisione]  END)
    , TARGET.[TempoPrevisto] = (CASE WHEN TARGET.[TempoPrevisto] <> SOURCE.[TempoPrevisto] THEN SOURCE.[TempoPrevisto]  ELSE TARGET.[TempoPrevisto]  END)
    , TARGET.[Descrizione] = (CASE WHEN TARGET.[Descrizione] <> SOURCE.[Descrizione] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[Descrizione] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[Descrizione]  END)
    , TARGET.[DscRigaArticoloAgg] = (CASE WHEN TARGET.[DscRigaArticoloAgg] <> SOURCE.[DscRigaArticoloAgg] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[DscRigaArticoloAgg] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[DscRigaArticoloAgg]  END)
    
    
    
    , TARGET.[DataModifica_DocCli] = (CASE WHEN DATEADD(minute, datediff(minute, 0, TARGET.[DataModifica_DocCli]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocCli]), 0) THEN DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocCli]), 0)  ELSE TARGET.[DataModifica_DocCli]   END)
    
    
    
    , TARGET.[DataModifica_DocsFornitore] = (CASE WHEN DATEADD(minute, datediff(minute, 0, TARGET.[DataModifica_DocsFornitore]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocsFornitore]), 0)  THEN DATEADD(minute, datediff(minute, 0, SOURCE.[DataModifica_DocsFornitore]), 0)    ELSE TARGET.[DataModifica_DocCli]   END)
    
    
    , TARGET.[Qta] = (CASE WHEN TARGET.[Qta] <> SOURCE.[Qta] THEN SOURCE.[Qta]  ELSE TARGET.[Qta]  END)
    , TARGET.[CODAGENTE1] = (CASE WHEN TARGET.[CODAGENTE1] <> SOURCE.[CODAGENTE1] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[CODAGENTE1] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[CODAGENTE1] END)
    , TARGET.[DscAgente1] = (CASE WHEN TARGET.[DscAgente1] <> TARGET.[DscAgente1] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN SOURCE.[DscAgente1] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[DscAgente1] END)
    , TARGET.[RIGACHIUSA] = SOURCE.[RIGACHIUSA]
    
    --AGGIORNAMENTO DATI LATO FORNITORE
    
    , TARGET.[IdTesta_ORS] = (CASE WHEN TARGET.[IdTesta_ORS] <> SOURCE.[IdTesta_ORS]  THEN SOURCE.IdTesta_ORS  ELSE TARGET.[IdTesta_ORS]  END)
    , TARGET.[IdRiga_ORS] = (CASE WHEN TARGET.[IdRiga_ORS] <> SOURCE.[IdRiga_ORS]  THEN SOURCE.IdRiga_ORS ELSE TARGET.[IdRiga_ORS] END)
    , TARGET.[NumDoc_ORS] = (CASE WHEN TARGET.[NumDoc_ORS] <> SOURCE.[NumDoc_ORS]  THEN SOURCE.[NumDoc_ORS]   ELSE TARGET.[NumDoc_ORS] END)
    , TARGET.[DATADOC_ORS] = (CASE WHEN TARGET.[DATADOC_ORS] <> SOURCE.[DATADOC_ORS]  THEN SOURCE.[DATADOC_ORS]  ELSE TARGET.[DATADOC_ORS]   END)
    , TARGET.[POSIZIONE_R_ORS] = (CASE WHEN TARGET.[POSIZIONE_R_ORS] <> SOURCE.[POSIZIONE_R_ORS]  THEN SOURCE.[POSIZIONE_R_ORS]  ELSE TARGET.[POSIZIONE_R_ORS] END)
    , TARGET.[CodFornitore] = (CASE WHEN TARGET.[CodFornitore] <> SOURCE.[CodFornitore] COLLATE SQL_Latin1_General_CP1_CI_AS   THEN SOURCE.[CodFornitore] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[CodFornitore] END)
    , TARGET.[RAGSOCDDMForn] = (CASE WHEN TARGET.[RAGSOCDDMForn] <> SOURCE.[RAGSOCDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS   THEN  SOURCE.[RAGSOCDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[RAGSOCDDMForn]  END)
    , TARGET.[INDIRIZZODDMForn] = (CASE WHEN TARGET.[INDIRIZZODDMForn] <> SOURCE.[INDIRIZZODDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS  THEN  SOURCE.[INDIRIZZODDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[INDIRIZZODDMForn]  END)
    , TARGET.[CAPDDMForn] = (CASE WHEN TARGET.[CAPDDMForn] <> SOURCE.[CAPDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS   THEN  SOURCE.[CAPDDMForn]  COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[CAPDDMForn]  END)
    , TARGET.[LOCALITADDMForn] = (CASE WHEN TARGET.[LOCALITADDMForn] <> SOURCE.[LOCALITADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS   THEN  SOURCE.[LOCALITADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[LOCALITADDMForn]   END)
    
    , TARGET.[PROVINCIADDMForn] = (CASE WHEN TARGET.[PROVINCIADDMForn] <> SOURCE.[PROVINCIADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS   THEN  SOURCE.[PROVINCIADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS ELSE TARGET.[PROVINCIADDMForn]   END)
    
    
    , TARGET.[SelUpdate] = (CASE 
    
    			
    			WHEN 
                   TARGET.[EsercizioCLI] <> SOURCE.[EsercizioCLI] 
                OR TARGET.[TipoDocCli] <> SOURCE.[TipoDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[NumeroDocCli] <> SOURCE.[NumeroDocCli] 
                OR TARGET.[BisCli] <> SOURCE.[BisCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DataDocCli] <> SOURCE.[DataDocCli] 
                OR TARGET.[DOCCHIUSO] <> SOURCE.[DOCCHIUSO] 
                OR TARGET.[NumRifDocCli] <> SOURCE.[NumRifDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
    
    
    
    			OR DATEADD(minute, datediff(minute, 0, TARGET.[DataRifDocCli]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataRifDocCli]), 0)
    
    
                OR TARGET.[IdTrust] <> SOURCE.[IdTrust] 
                OR TARGET.[DscTrust] <> SOURCE.[DscTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[STATOORDINI] <> SOURCE.[STATOORDINI] 
                OR TARGET.[NaturaTrust] <> SOURCE.[NaturaTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[TIPORIGA] <> SOURCE.[TIPORIGA] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PosizioneRigaCli] <> SOURCE.[PosizioneRigaCli] 
                OR TARGET.[CodiceArticolo] <> SOURCE.[CodiceArticolo] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[codCliente] <> SOURCE.[codCliente] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RifStabilimento] <> SOURCE.[RifStabilimento] 
                OR TARGET.[RAGSOCDDM] <> SOURCE.[RAGSOCDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[INDIRIZZODDM]  <> SOURCE.[INDIRIZZODDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[CAPDDM] <> SOURCE.[CAPDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[LOCALITADDM] <> SOURCE.[LOCALITADDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PROVINCIADDM] <> SOURCE.[PROVINCIADDM] COLLATE SQL_Latin1_General_CP1_CI_AS
                OR TARGET.[RifCommessaCliente] <> SOURCE.[RifCommessaCliente] COLLATE SQL_Latin1_General_CP1_CI_AS
                OR TARGET.[DescrizioneCommessaCli] <> SOURCE.[DescrizioneCommessaCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
    
    			OR DATEADD(minute, datediff(minute, 0, TARGET.[DataConsegnaCli]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DataConsegnaCli]), 0)
    
    
                OR TARGET.[NomeTicket] <>  SOURCE.[NomeTicket] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PrezzoUnitNettoEuroCli] <> SOURCE.[PrezzoUnitNettoEuroCli] 
                OR TARGET.[RSPP_RESPONSABILE] <> SOURCE.[RSPP_RESPONSABILE] 
                OR TARGET.[Dsc_RSPP] <> SOURCE.[Dsc_RSPP] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefPM] <> SOURCE.[RefPM]
                OR TARGET.[Dsc_RefPM] <> SOURCE.[Dsc_RefPM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefSegrCons] <> SOURCE.[RefSegrCons]  
                OR TARGET.[Dsc_RefSegrCons] <> SOURCE.[Dsc_RefSegrCons] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefSegrForm_T] <> SOURCE.[RefSegrForm_T] 
                OR TARGET.[Dsc_RefSegrForm] <> SOURCE.[Dsc_RefSegrForm] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[MEDICORESPONSABILE] <> SOURCE.[MEDICORESPONSABILE]
                OR TARGET.[Dsc_MedicoResp] <> SOURCE.[Dsc_MedicoResp] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[IdDivisione] <> SOURCE.[IdDivisione]
                OR TARGET.[DscDivisione] <>  SOURCE.[DscDivisione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[TempoPrevisto] <> SOURCE.[TempoPrevisto] 
                OR TARGET.[Descrizione] <>  SOURCE.[Descrizione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DscRigaArticoloAgg] <> SOURCE.[DscRigaArticoloAgg] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[Qta] <> SOURCE.[Qta] 
                OR TARGET.[CODAGENTE1] <>  SOURCE.[CODAGENTE1] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DscAgente1] <> SOURCE.[DscAgente1] COLLATE SQL_Latin1_General_CP1_CI_AS 
    			OR TARGET.[RIGACHIUSA] <> SOURCE.[RIGACHIUSA]
    
    	            THEN  ''x''  
    				
    				WHEN
    
                   TARGET.[IdTesta_ORS] <> SOURCE.[IdTesta_ORS]  
                OR TARGET.[IdRiga_ORS] <> SOURCE.[IdRiga_ORS] 
                OR TARGET.[NumDoc_ORS] <> SOURCE.[NumDoc_ORS]  
    
                --OR TARGET.[DATADOC_ORS] <> SOURCE.[DATADOC_ORS] 
    			OR DATEADD(minute, datediff(minute, 0, TARGET.[DATADOC_ORS]), 0) <> DATEADD(minute, datediff(minute, 0, SOURCE.[DATADOC_ORS]), 0)
    
                OR TARGET.[POSIZIONE_R_ORS] <> SOURCE.[POSIZIONE_R_ORS] 
                OR TARGET.[CodFornitore] <> SOURCE.[CodFornitore] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RAGSOCDDMForn] <> SOURCE.[RAGSOCDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[INDIRIZZODDMForn] <> SOURCE.[INDIRIZZODDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[CAPDDMForn] <> SOURCE.[CAPDDMForn]  COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[LOCALITADDMForn] <> SOURCE.[LOCALITADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
    			OR TARGET.[PROVINCIADDMForn] <> SOURCE.[PROVINCIADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS
    
    
    				THEN  ''F'' 
    
    
    				WHEN 
    
    
                   TARGET.[EsercizioCLI] = SOURCE.[EsercizioCLI] 
                AND TARGET.[TipoDocCli] = SOURCE.[TipoDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[NumeroDocCli] = SOURCE.[NumeroDocCli] 
                AND TARGET.[BisCli] = SOURCE.[BisCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[DataDocCli] = SOURCE.[DataDocCli] 
                AND TARGET.[DOCCHIUSO] = SOURCE.[DOCCHIUSO] 
                AND TARGET.[NumRifDocCli] = SOURCE.[NumRifDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[DataRifDocCli] = SOURCE.[DataRifDocCli]
                AND TARGET.[IdTrust] = SOURCE.[IdTrust] 
                AND TARGET.[DscTrust] = SOURCE.[DscTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[STATOORDINI] = SOURCE.[STATOORDINI] 
                AND TARGET.[NaturaTrust] = SOURCE.[NaturaTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[TIPORIGA] = SOURCE.[TIPORIGA] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[PosizioneRigaCli] = SOURCE.[PosizioneRigaCli] 
                AND TARGET.[CodiceArticolo] = SOURCE.[CodiceArticolo] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[codCliente] = SOURCE.[codCliente] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[RifStabilimento] = SOURCE.[RifStabilimento] 
                AND TARGET.[RAGSOCDDM] = SOURCE.[RAGSOCDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[INDIRIZZODDM]  = SOURCE.[INDIRIZZODDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[CAPDDM] = SOURCE.[CAPDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[LOCALITADDM] = SOURCE.[LOCALITADDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[PROVINCIADDM] = SOURCE.[PROVINCIADDM] COLLATE SQL_Latin1_General_CP1_CI_AS
                AND TARGET.[RifCommessaCliente] = SOURCE.[RifCommessaCliente] COLLATE SQL_Latin1_General_CP1_CI_AS
                AND TARGET.[DescrizioneCommessaCli] = SOURCE.[DescrizioneCommessaCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[DataConsegnaCli] = SOURCE.[DataConsegnaCli]
                AND TARGET.[NomeTicket] =  SOURCE.[NomeTicket] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[PrezzoUnitNettoEuroCli] = SOURCE.[PrezzoUnitNettoEuroCli] 
                AND TARGET.[RSPP_RESPONSABILE] = SOURCE.[RSPP_RESPONSABILE] 
                AND TARGET.[Dsc_RSPP] = SOURCE.[Dsc_RSPP] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[RefPM] = SOURCE.[RefPM]
                AND TARGET.[Dsc_RefPM] = SOURCE.[Dsc_RefPM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[RefSegrCons] = SOURCE.[RefSegrCons]  
                AND TARGET.[Dsc_RefSegrCons] = SOURCE.[Dsc_RefSegrCons] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[RefSegrForm_T] = SOURCE.[RefSegrForm_T] 
                AND TARGET.[Dsc_RefSegrForm] = SOURCE.[Dsc_RefSegrForm] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[MEDICORESPONSABILE] = SOURCE.[MEDICORESPONSABILE]
                AND TARGET.[Dsc_MedicoResp] = SOURCE.[Dsc_MedicoResp] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[IdDivisione] = SOURCE.[IdDivisione]
                AND TARGET.[DscDivisione] =  SOURCE.[DscDivisione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[TempoPrevisto] = SOURCE.[TempoPrevisto] 
                AND TARGET.[Descrizione] =  SOURCE.[Descrizione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[DscRigaArticoloAgg] = SOURCE.[DscRigaArticoloAgg] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[Qta] = SOURCE.[Qta] 
                AND TARGET.[CODAGENTE1] =  SOURCE.[CODAGENTE1] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[DscAgente1] = SOURCE.[DscAgente1] COLLATE SQL_Latin1_General_CP1_CI_AS 
    			AND TARGET.RIGACHIUSA = SOURCE.RIGACHIUSA
                AND  TARGET.[IdTesta_ORS] = SOURCE.[IdTesta_ORS]  
                AND TARGET.[IdRiga_ORS] = SOURCE.[IdRiga_ORS] 
                AND TARGET.[NumDoc_ORS] = SOURCE.[NumDoc_ORS] 
    			AND DATEADD(minute, datediff(minute, 0, TARGET.[DATADOC_ORS]), 0) = DATEADD(minute, datediff(minute, 0, SOURCE.[DATADOC_ORS]), 0)
                AND TARGET.[POSIZIONE_R_ORS] = SOURCE.[POSIZIONE_R_ORS] 
                AND TARGET.[CodFornitore] = SOURCE.[CodFornitore] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[RAGSOCDDMForn] = SOURCE.[RAGSOCDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[INDIRIZZODDMForn] = SOURCE.[INDIRIZZODDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[CAPDDMForn] = SOURCE.[CAPDDMForn]  COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[LOCALITADDMForn] = SOURCE.[LOCALITADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                AND TARGET.[PROVINCIADDMForn] = SOURCE.[PROVINCIADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS				
    			
    			THEN   NULL
    
    			END) 
    
    ,TARGET.[DataImportazione] = (CASE WHEN
                   TARGET.[EsercizioCLI] <> SOURCE.[EsercizioCLI] 
                OR TARGET.[TipoDocCli] <> SOURCE.[TipoDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[NumeroDocCli] <> SOURCE.[NumeroDocCli] 
                OR TARGET.[BisCli] <> SOURCE.[BisCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DataDocCli] <> SOURCE.[DataDocCli] 
                OR TARGET.[DOCCHIUSO] <> SOURCE.[DOCCHIUSO] 
                OR TARGET.[NumRifDocCli] <> SOURCE.[NumRifDocCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DataRifDocCli] <> SOURCE.[DataRifDocCli]
                OR TARGET.[IdTrust] <> SOURCE.[IdTrust] 
                OR TARGET.[DscTrust] <> SOURCE.[DscTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[STATOORDINI] <> SOURCE.[STATOORDINI] 
                OR TARGET.[NaturaTrust] <> SOURCE.[NaturaTrust] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[TIPORIGA] <> SOURCE.[TIPORIGA] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PosizioneRigaCli] <> SOURCE.[PosizioneRigaCli] 
                OR TARGET.[CodiceArticolo] <> SOURCE.[CodiceArticolo] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[codCliente] <> SOURCE.[codCliente] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RifStabilimento] <> SOURCE.[RifStabilimento] 
                OR TARGET.[RAGSOCDDM] <> SOURCE.[RAGSOCDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[INDIRIZZODDM] <> SOURCE.[INDIRIZZODDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[CAPDDM] <> SOURCE.[CAPDDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[LOCALITADDM] <> SOURCE.[LOCALITADDM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PROVINCIADDM] <> SOURCE.[PROVINCIADDM] COLLATE SQL_Latin1_General_CP1_CI_AS
                OR TARGET.[RifCommessaCliente] <> SOURCE.[RifCommessaCliente] COLLATE SQL_Latin1_General_CP1_CI_AS
                OR TARGET.[DescrizioneCommessaCli] <> SOURCE.[DescrizioneCommessaCli] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DataConsegnaCli] <> SOURCE.[DataConsegnaCli]
                OR TARGET.[NomeTicket] <>  SOURCE.[NomeTicket] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[PrezzoUnitNettoEuroCli] <> SOURCE.[PrezzoUnitNettoEuroCli] 
                OR TARGET.[RSPP_RESPONSABILE] <> SOURCE.[RSPP_RESPONSABILE] 
                OR TARGET.[Dsc_RSPP] <> SOURCE.[Dsc_RSPP] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefPM] <> SOURCE.[RefPM]
                OR TARGET.[Dsc_RefPM] <> SOURCE.[Dsc_RefPM] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefSegrCons] <> SOURCE.[RefSegrCons]  
                OR TARGET.[Dsc_RefSegrCons] <> SOURCE.[Dsc_RefSegrCons] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RefSegrForm_T] <> SOURCE.[RefSegrForm_T] 
                OR TARGET.[Dsc_RefSegrForm] <> SOURCE.[Dsc_RefSegrForm] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[MEDICORESPONSABILE] <> SOURCE.[MEDICORESPONSABILE]
                OR TARGET.[Dsc_MedicoResp] <> SOURCE.[Dsc_MedicoResp] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[IdDivisione] <> SOURCE.[IdDivisione]
                OR TARGET.[DscDivisione] <> SOURCE.[DscDivisione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[TempoPrevisto] <> SOURCE.[TempoPrevisto] 
                OR TARGET.[Descrizione] <> SOURCE.[Descrizione] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DscRigaArticoloAgg] <> SOURCE.[DscRigaArticoloAgg] COLLATE SQL_Latin1_General_CP1_CI_AS
                OR TARGET.[Qta] <> SOURCE.[Qta]  
                OR TARGET.[CODAGENTE1] <> SOURCE.[CODAGENTE1] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[DscAgente1] <> SOURCE.[DscAgente1] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RIGACHIUSA] <> SOURCE.[RIGACHIUSA]      
                OR TARGET.[IdTesta_ORS] <> SOURCE.[IdTesta_ORS]  
                OR TARGET.[IdRiga_ORS] <> SOURCE.[IdRiga_ORS] 
                OR TARGET.[NumDoc_ORS] <> SOURCE.[NumDoc_ORS]  
                OR TARGET.[DATADOC_ORS] <> SOURCE.[DATADOC_ORS] 
                OR TARGET.[POSIZIONE_R_ORS] <> SOURCE.[POSIZIONE_R_ORS] 
                OR TARGET.[CodFornitore]  <> SOURCE.[CodFornitore] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[RAGSOCDDMForn] <> SOURCE.[RAGSOCDDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[INDIRIZZODDMForn] <> SOURCE.[INDIRIZZODDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[CAPDDMForn] <> SOURCE.[CAPDDMForn]  COLLATE SQL_Latin1_General_CP1_CI_AS 
                OR TARGET.[LOCALITADDMForn] <> SOURCE.[LOCALITADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS 
    			OR TARGET.[PROVINCIADDMForn] <> SOURCE.[PROVINCIADDMForn] COLLATE SQL_Latin1_General_CP1_CI_AS
    
        THEN GETDATE() ELSE TARGET.[DataImportazione] END)
               
    	
    
    WHEN NOT MATCHED BY TARGET 
    
    THEN INSERT 
    	  ([IdTestaDocCli]
    	  ,[IDRigaDocCli] 
    	  ,[IdTesta_ORS]
    	  ,[IdRiga_ORS]
    	  ,[EsercizioCLI]
    	  ,[TipoDocCli]
          ,[NumeroDocCli]
    	  ,[BisCli]
    	  ,[DataDocCli]
    	  ,[DOCCHIUSO]
    	  ,[NumRifDocCli]
    	  ,[DataRifDocCli]
          ,[IdTrust]
    	  ,[DscTrust]
    	  ,[STATOORDINI]
    	  ,[NaturaTrust]
    	  ,[TIPORIGA]
    	  ,[PosizioneRigaCli]
          ,[NumDoc_ORS]
    	  ,[DATADOC_ORS]
    	  ,[POSIZIONE_R_ORS]
    	  ,[CodiceArticolo]
    	  ,[CodFornitore]      
    	  ,[RAGSOCDDMForn] 
    	  ,[INDIRIZZODDMForn] 
    	  ,[CAPDDMForn] 
    	  ,[LOCALITADDMForn]
    	  ,[PROVINCIADDMForn]
    	  ,[codCliente]
          ,[RifStabilimento]
    	  ,[RAGSOCDDM]
    	  ,[INDIRIZZODDM]
    	  ,[CAPDDM]
    	  ,[LOCALITADDM]
    	  ,[PROVINCIADDM]
          ,[RifCommessaCliente]
    	  ,[DescrizioneCommessaCli]
    	  ,[DataConsegnaCli]
    	  ,[NomeTicket]
    	  ,[PrezzoUnitNettoEuroCli]
    	  ,[RSPP_RESPONSABILE]
    	  ,[Dsc_RSPP]
    	  ,[RefPM]
    	  ,[Dsc_RefPM]
    	  ,[RefSegrCons]
    	  ,[Dsc_RefSegrCons]
          ,[RefSegrForm_T]
    	  ,[Dsc_RefSegrForm]
    	  ,[MEDICORESPONSABILE]
    	  ,[Dsc_MedicoResp]
    	  ,[IdDivisione]
          ,[DscDivisione]
    	  ,[TempoPrevisto]
    	  ,[Descrizione]
    	  ,[DscRigaArticoloAgg]
    	  ,[DataModifica_DocCli]
          ,[DataModifica_DocsFornitore]
    	  ,[Qta]
    	  ,[CODAGENTE1]
    	  ,[DscAgente1]
    	  ,[DataImportazione]
    	  ,[StatoImportazione]
    	  ,[RIGACHIUSA]) 
    
    VALUES (
    
    		  SOURCE.[IdTestaDocCli]
    		, SOURCE.[IDRigaDocCli] 
    		, SOURCE.[IdTesta_ORS]
    		, SOURCE.[IdRiga_ORS]
    		, SOURCE.[EsercizioCLI]
    		, SOURCE.[TipoDocCli]
    		, SOURCE.[NumeroDocCli]
    		, SOURCE.[BisCli]
    		, SOURCE.[DataDocCli]
    		, SOURCE.[DOCCHIUSO]
    		, SOURCE.[NumRifDocCli]
    		, SOURCE.[DataRifDocCli]
    		, SOURCE.[IdTrust]
    		, SOURCE.[DscTrust]
    		, SOURCE.[STATOORDINI]
    		, SOURCE.[NaturaTrust]
    		, SOURCE.[TIPORIGA]
    		, SOURCE.[PosizioneRigaCli]
    		, SOURCE.[NumDoc_ORS]
    		, SOURCE.[DATADOC_ORS]
    		, SOURCE.[POSIZIONE_R_ORS]
    		, SOURCE.[CodiceArticolo]
    		, SOURCE.[CodFornitore]      
    		, SOURCE.[RAGSOCDDMForn] 
    		, SOURCE.[INDIRIZZODDMForn]
    		, SOURCE.[PROVINCIADDMForn]
    		, SOURCE.[CAPDDMForn] 
    		, SOURCE.[LOCALITADDMForn]
    		, SOURCE.[codCliente] 
    		, SOURCE.[RifStabilimento]
    		, SOURCE.[RAGSOCDDM]
    		, SOURCE.[INDIRIZZODDM]      
            , SOURCE.[CAPDDM]
    		, SOURCE.[LOCALITADDM]
    		, SOURCE.[PROVINCIADDM]	
    		, SOURCE.[RifCommessaCliente]
    		, SOURCE.[DescrizioneCommessaCli]
            , SOURCE.[DataConsegnaCli]
    		, SOURCE.[NomeTicket]
    		, SOURCE.[PrezzoUnitNettoEuroCli]
    		, SOURCE.[RSPP_RESPONSABILE]
    		, SOURCE.[Dsc_RSPP]
    		, SOURCE.[RefPM]
    		, SOURCE.[Dsc_RefPM]
    		, SOURCE.[RefSegrCons]
    		, SOURCE.[Dsc_RefSegrCons]
    		, SOURCE.[RefSegrForm_T]
    		, SOURCE.[Dsc_RefSegrForm]
    		, SOURCE.[MEDICORESPONSABILE]
    		, SOURCE.[Dsc_MedicoResp]
    		, SOURCE.[IdDivisione]
    		, SOURCE.[DscDivisione]
    		, SOURCE.[TempoPrevisto]
    		, SOURCE.[Descrizione]
    		, SOURCE.[DscRigaArticoloAgg]
    		, SOURCE.[DataModifica_DocCli]
    		, SOURCE.[DataModifica_DocsFornitore]
    		, SOURCE.[Qta]
    		, SOURCE.[CODAGENTE1]
    		, SOURCE.[DscAgente1]
    		, getdate()
    		,''I''
    		, SOURCE.[RIGACHIUSA]
    		
    		)
    
    
    WHEN NOT MATCHED BY SOURCE AND TARGET.StatoImportazione <>''D'' THEN
    
    UPDATE SET 
    
    
      TARGET.[DataImportazione] = getdate()
    , TARGET.[StatoImportazione] =''D'';
    
    
    
    
    DROP TABLE #tmpTicket
    
    '
    EXEC (@vSQL1)
    
    SELECT @@ROWCOUNT;
    
    
    
    END
    
    

    .


    Marco

    lunedì 14 settembre 2020 09:14

Tutte le risposte

  • non ho capito il post. alla fine hai risolto ? se non hai risolto quali sono i casa che non funzionano ?

    Edoardo Benussi
    e[dot]benussi[at]outlook[dot]it

    lunedì 14 settembre 2020 13:19
    Moderatore
  • I casi che non funzionano sono gli ultimi due sotto riportati... alla fine ho risolto aggiornando comunque il valore alla source.

    , TARGET.[IdRiga_ORS] = (CASE WHEN TARGET.[IdRiga_ORS] <> SOURCE.[IdRiga_ORS] THEN SOURCE.IdRiga_ORS ELSE TARGET.[IdRiga_ORS] END) , TARGET.[NumDoc_ORS] = (CASE WHEN TARGET.[NumDoc_ORS] <> SOURCE.[NumDoc_ORS] THEN SOURCE.[NumDoc_ORS] ELSE TARGET.[NumDoc_ORS] END) , TARGET.[DATADOC_ORS] = (CASE WHEN TARGET.[DATADOC_ORS] <> SOURCE.[DATADOC_ORS] THEN SOURCE.[DATADOC_ORS] ELSE TARGET.[DATADOC_ORS] END) , TARGET.[POSIZIONE_R_ORS] = (CASE WHEN TARGET.[POSIZIONE_R_ORS] <> SOURCE.[POSIZIONE_R_ORS] THEN SOURCE.[POSIZIONE_R_ORS] ELSE TARGET.[POSIZIONE_R_ORS] END)

    ho provato anche convertendo i valori per il confronto convertendo interi con interi, date con date, testi con testi...



    Marco

    lunedì 14 settembre 2020 13:40
  • Ciao,

    potresti riportare la definizione estesa (tipo, nullabilità, collate se stringa) di una coppia di colonne, ad es. TARGET.[IdRiga_ORS] e SOURCE.[IdRiga_ORS] ed anche un esempio dei valori che producono il problema?

    Giorgio

    martedì 15 settembre 2020 07:20