Ho il flusso dei dati in una tabella da più di altre tabelle permette di dire: Table_A Poi ho un Merge stored proc che prende i dati da Una tabella che si fonde con la Tabella B.
Tuttavia, qualcosa sembra non essere di destra. Se io di troncare e di caricare i dati e funziona bene, ma se io non troncare e di carico, e recuperare solo le query da ciascunomaglia ora ho il messaggio di errore che dice
Msg 8672, Livello 16, Stato 1, Procedura Merge_Table_A, Linea 4 [Batch Linea Di Partenza 0] L'istruzione MERGE tentato di AGGIORNARE o ELIMINARE la riga stessa più di una volta. Questo accade quando una riga di destinazione corrisponde a più di una riga di origine. Un'istruzione MERGE non è possibile AGGIORNARE/ELIMINARE la stessa riga della tabella di destinazione più volte. Perfezionare la clausola per garantire una riga di destinazione corrisponde al massimo una riga di origine, o utilizzare la clausola GROUP BY per raggruppare le righe di origine.
Come posso ovviare a questo?
Voglio essere in modo incrementale, in grado di caricare i dati, e non troncare i carichi, ma allo stesso tempo avere una stored proc che gli aggiornamenti o inserti o non si cura se la riga esiste già.