Ho un database che viene aggiornato con i set di dati di volta in volta. Qui può accadere che venga consegnato un set di dati che esiste già nel database.Do INSERT condizionale con SQL?
Attualmente sto facendo un primo
SELECT FROM ... WHERE val1=... AND val2=...
per controllare, se un insieme di dati con questi dati esiste già (utilizzando i dati in DOVE-economico). Se questo non restituisce alcun valore, sto facendo il mio INSERT.
Ma questo sembra essere un po 'complicato per me. Quindi la mia domanda: c'è qualche tipo di INSERT condizionale che aggiunge un nuovo set di dati solo nel caso in cui non esista?
sto usando SmallSQL
*** CHE COSA *** il sistema di database è questo? SQL è solo il linguaggio di query, utilizzato da molti prodotti di database. SQL è ** non ** un prodotto di database in sé. Quindi per favore fateci sapere se state usando MySQL, Postgres, Oracle, IBM DB2, SQL Server, Firebird - o qualsiasi altra cosa possa essere ... –
Stai parlando di [Unisci/Upsert] (http: // en. wikipedia.org/wiki/Merge_(SQL))? –
@Elmi: alcune delle risposte riportate di seguito hanno risolto il problema? – DougM