Condividi tramite


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)