Ciao a tutti.
Sto usando JMP 17.Voglio inserire o aggiornare i dati in datatable in database ssms esterni.
Attualmente ho un datatable. Voglio confrontare la riga di datatable. Se la riga di datatable non esiste nel database, inserirla nel database, altrimenti se esiste nel database, aggiornarla nel database.
So che SQL ha la funzione di inserimento o aggiornamento ma non so che lo script JMP possa farcela o meno.
qual è la sintassi o lo script per inserire o aggiornare i dati?
Questa è la funzione di inserimento o aggiornamento SQL
-- Insert or update into Table
MERGE INTO Report.dbo.Table AS target
USING #tempTable AS source
ON
target.logID = source.logID
WHEN MATCHED THEN
UPDATE SET
Value = source.value
WHEN NOT MATCHED THEN
INSERT (ID, ProductName, Time, Value)
VALUES (source.id, source.productname, source.time, source.value);
grazie in anticipo
È possibile inserire/aggiornare le tabelle del database utilizzando JSL senza problemi.Sembra che la tua istruzione stia aggiornando report.dbo.table dalla tabella #tempTable.Se #tempTable non è molto grande puoi creare questa tabella nel tuo database e quindi eseguire lo script di unione.
Ecco del codice non testato che mostra cosa devi fare.Raramente ho usato il salvare la banca dati comando; dovrai sperimentare per farlo funzionare.
dt = New Table( "Source Table", Add Rows( 3 ),
New Column( "id", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3] ) ),
New Column( "productname", Character, "Nominal",
Set Values( {"AAAAA", "BBBBB", "CCCCC"} ) ),
New Column( "time", Character, "Nominal",
Set Values( {"7:30", "8:30", "9:30"} ) ),
New Column( "value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [22, 24, 33] ) )
);
// Copy the table to the database
dt << Save Database( "Connect Dialog", "#tempTable" );
// Create a connection to the database
dbc = create database connection("<CONNECTION-STRING-GOES-HERE></CONNECTION-STRING-GOES-HERE>