Regole per l'aggiornamento dei risultati (Visual Database Tools)
si applica a:SQL Server
In molti casi, è possibile aggiornare il set di risultati visualizzato nel riquadro dei risultati . Tuttavia, in alcuni casi non è possibile.
In generale, per aggiornare i risultati, lo strumento Query e Visualizzazione deve disporre di informazioni sufficienti per identificare in modo univoco la riga nella tabella. Un esempio è se la query include una chiave primaria nell'elenco di output. Inoltre, è necessario disporre di autorizzazioni sufficienti per aggiornare il database.
Se la query è basata su una vista, potrebbe essere possibile aggiornarla. Si applicano le stesse linee guida, ad eccezione del fatto che si applicano alle tabelle sottostanti nella vista, non solo alla vista stessa.
Nota
Lo Strumento di progettazione Query e Visualizzazione non può determinare in anticipo se sia possibile aggiornare un set di risultati basato su una vista. Pertanto, visualizza tutte le visualizzazioni, anche se potrebbe non essere possibile aggiornarle.
La tabella seguente riepiloga istanze specifiche in cui è possibile e potrebbe non essere in grado di aggiornare i risultati della query nel riquadro Risultati. In molti casi, il database in uso determina se è possibile aggiornare i risultati delle query.
Quesito | È possibile aggiornare i risultati? |
---|---|
Query basata su una tabella con chiave primaria nell'elenco di output | Sì (tranne quelli elencati di seguito). |
Query basata su una tabella senza indice univoco e senza chiave primaria | Dipende dalla query e dal database. Alcuni database consentono aggiornamenti se sono disponibili informazioni sufficienti per identificare in modo univoco i record. |
Query basata su più tabelle che non sono collegate | No. |
Query basata sui dati contrassegnati come di sola lettura nel database | No. |
Query basata su una vista che coinvolge una tabella senza vincoli | Sì (tranne quelli elencati di seguito). |
Query basata su tabelle collegate tramite una relazione uno-a-uno | Sì (tranne quelli elencati di seguito). |
Query basata su tabelle collegate da una relazione uno-a-molti | Solitamente. |
Query basata su tre o più tabelle in cui è presente una relazione molti-a-molti | No. |
Query basata su una tabella per cui non viene concessa l'autorizzazione di aggiornamento | Può eliminare ma non aggiornare. |
Query basata su una tabella per cui non viene concessa l'autorizzazione di eliminazione | Può aggiornare ma non eliminare. |
Query di aggregazione | No. |
Una query basata su una sottoquery che contiene totali o funzioni di aggregazione | No. |
Query che include la parola chiave DISTINCT per escludere righe duplicate | No. |
Query la cui clausola FROM include una funzione definita dall'utente che restituisce una tabella e contiene più istruzioni di selezione | No. |
Query la cui clausola FROM include una funzione inline definita dall'utente | Sì. |
Inoltre, potrebbe non essere possibile aggiornare colonne specifiche nei risultati della query. L'elenco seguente riepiloga tipi specifici di 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 non appena vengono sbloccate)
Timestamp o colonne BLOB
Vedere anche
Progettazione di Query e Viste Argomenti su Come Fare (Visual Database Tools)