ciao!

ho un problema con il MERGE in SQL Server.
in pratica se c'è MATCH lo mando un update funziona.
sennò deve fare la insert, ma non funziona.
nel senso che non trovo il record, però non mi da errore.

codice:
MERGE INTO Timesheet_ore AS s
USING (SELECT tlo_timesheet,
              tlo_fascia_oraria,
              tlo_tipo_incarico
       FROM Timesheet_ore
       WHERE tlo_timesheet = 100
         AND tlo_fascia_oraria = 3
         AND tlo_tipo_incarico = 'UFFICIOPS') AS t
ON (s.tlo_timesheet = t.tlo_timesheet
    AND s.tlo_fascia_oraria = t.tlo_fascia_oraria
    AND s.tlo_tipo_incarico = t.tlo_tipo_incarico)
WHEN MATCHED THEN
    UPDATE
    SET tlo_data_da         = GETDATE(),
        tlo_data_a          = GETDATE(),
        tlo_minuti_lavorati = 1000,
        tlo_note            = '',
        tlo_data_modifica   = GETDATE()
WHEN NOT MATCHED THEN
    INSERT (tlo_timesheet, tlo_data_da, tlo_data_a, tlo_minuti_lavorati, tlo_fascia_oraria, tlo_tipo_incarico, tlo_note,
            tlo_data_aggiunta, tlo_data_modifica)
    VALUES (100, GETDATE(), GETDATE(), 1000, 3, 'UFFICIOPS', 'note', GETDATE(), GETDATE());