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 |