Regole per l'aggiornamento dei risultati (Visual Database Tools)
Si applica a: SQL Server
Normalmente è possibile aggiornare il set di risultati visualizzato nel riquadro Risultati. Talvolta non è tuttavia possibile.
Normalmente, per aggiornare i risultati, è necessario che in Progettazione query e Progettazione viste siano disponibili informazioni sufficienti per identificare in modo univoco la riga specifica all'interno della tabella. Questo è ad esempio possibile quando la query include una chiave primaria nell'elenco di output. Occorre inoltre disporre delle autorizzazioni necessarie per l'aggiornamento del database.
Se la query si basa su una vista, dovrebbe essere possibile aggiornarla. Restano valide le stesse indicazioni, con l'eccezione che si applicano non solo alla vista in sé, ma anche alle tabelle sottostanti.
Nota
Progettazione query e Progettazione viste non è in grado di determinare in anticipo se sia possibile aggiornare un set di risultati sulla base di una vista. Vengono pertanto visualizzate tutte le viste, anche se alcune potrebbero non essere aggiornabili.
La tabella che segue contiene un riepilogo di istanze specifiche in cui è o non è possibile aggiornare i risultati delle query nel riquadro Risultati. In numerosi casi la possibilità di aggiornare o meno i risultati delle query dipende dal database utilizzato.
Query | Possibilità di aggiornare i risultati |
---|---|
Query basata su una tabella con chiave primaria nell'elenco di output | Sì, ad eccezione di quanto elencato di seguito. |
Query basata su una tabella senza indice univoco e senza chiave primaria | Dipende dalla query e dal database. Alcuni database consentono l'aggiornamento se sono disponibili informazioni sufficienti per l'identificazione univoca dei record. |
Query basata su più tabelle non unite | No. |
Query basata su dati contrassegnati in sola lettura nel database | No. |
Query basata su una vista relativa a una tabella senza vincoli | Sì, ad eccezione di quanto elencato di seguito. |
Query basata su tabelle unite da una relazione uno-a-uno | Sì, ad eccezione di quanto elencato di seguito. |
Query basata su tabelle unite da una relazione uno-a-molti | In genere sì. |
Query basata su tre o più tabelle unite da una relazione molti-a-molti | No. |
Query basata su una tabella per la quale non è stata concessa l'autorizzazione di aggiornamento | Possibile l'eliminazione ma non l'aggiornamento. |
Query basata su una tabella per la quale non è stata concessa l'autorizzazione di eliminazione | Possibile l'aggiornamento ma non l'eliminazione. |
Query di aggregazione | No. |
Query basata su una sottoquery contenente totali o funzioni di aggregazione | No. |
Query che include la parola chiave DISTINCT per l'esclusione di righe duplicate | No. |
Query la cui clausola FROM include una funzione definita dall'utente che contiene più istruzioni Select e che restituisce una tabella | No. |
Query la cui clausola FROM include una funzione inline definita dall'utente | Sì. |
Può inoltre non essere possibile aggiornare colonne specifiche dei risultati delle query. L'elenco che segue contiene un riepilogo delle colonne che non è possibile aggiornare nel riquadro Risultati.
Colonne basate su espressioni
Colonne basate su funzioni scalari definite dall'utente
Righe o colonne eliminate da un altro utente
Righe o colonne bloccate da un altro utente. Le righe bloccate possono in genere essere aggiornate appena vengono sbloccate.
Colonne timestamp o BLOB
Vedi anche
Procedure per la progettazione di query e viste (Visual Database Tools)