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 Risultati (Visual Database Tools). Tuttavia, in alcuni casi non è possibile.

In generale, per aggiornare i risultati, gli strumenti di Progettazione query e Progettazione viste (Visual Database Tools) devono 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

Progettazione query e Progettazione viste non è in grado di determinare in anticipo se è possibile aggiornare un set di risultati in base a una visualizzazione. 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 unite in join No
Query basata sui dati contrassegnati come di sola lettura nel database No
Query basata su una vista che coinvolge una tabella priva di 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 DISTINCT parola chiave per escludere righe duplicate No
Query la cui FROM clausola include una funzione definita dall'utente che restituisce una tabella e la funzione definita dall'utente contiene più istruzioni select No
Query la cui FROM clausola include una funzione definita dall'utente inline 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