Aggiorna, Inserisci e il carattere ? in DBEXECUTE
?
.Si supponga di avere una tabella SQL vuota denominata Elementi, con due colonne: ID e nome. ID è la chiave primaria.
Questa formula è presente in una cella non protetta:
=DBEXECUTE("configdb", "SELECT items.id,items.name FROM items WHERE ID=1","INSERT into items (ID,Name) VALUES (1,?)")
In Modalità di visualizzazione è possibile specificare 1 nella cella e premere Invio.
Poiché la tabella è vuota e non contiene un ID con il valore 1, viene eseguita l'istruzione Inserisci. L'istruzione Inserisci consente di creare questa riga nella tabella:
Numero riga | ID | Nome |
---|---|---|
1 | 1 | 1 |
Se si immette 1, viene specificato l'ID. Il carattere ?
indica che questo valore deve essere inserito nella colonna Nome.
Specificare 2 nella cella. Poiché è presente l'ID 1, l'istruzione Inserisci non viene eseguita. La riga contenente l'ID 1 viene invece aggiornata come mostrato nella tabella riportata di seguito:
Numero riga | ID | Nome |
---|---|---|
1 | 2 | 1 |
Poiché l'istruzione Inserisci non viene eseguita, la colonna Nome non viene aggiornata.
Specificare quindi 3 nella cella. Poiché l'ID 1 non è presente, viene eseguita l'istruzione Inserisci e viene aggiunta una nuova riga:
Numero riga | ID | Nome |
---|---|---|
1 | 1 | 3 |
2 | 2 | 1 |
I valori 1 e 3 risultano dalla seguente parte della formula: VALUES (1,?)
.
Se quindi si specifica 4, l'ID 1 comparirà di nuovo e la riga contenente l'ID 1 verrà aggiornata.
Numero riga | ID | Nome |
---|---|---|
1 | 2 | 1 |
2 | 4 | 3 |
Se si specifica 5 viene aggiunta un'altra riga:
Numero riga | ID | Nome |
---|---|---|
1 | 1 | 5 |
2 | 2 | 1 |
3 | 4 | 3 |