Regole per l'aggiornamento dei risultati (Visual Database Tools)Rules for Updating Results (Visual Database Tools)

Normalmente è possibile aggiornare il set di risultati visualizzato nel riquadro Risultati.In many cases, you can update the result set displayed in the Results Pane. Talvolta non è tuttavia possibile.However, in some cases you cannot.

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.In general, in order to update results, the Query and View Designer must have sufficient information to uniquely identify the row in the table. Questo è ad esempio possibile quando la query include una chiave primaria nell'elenco di output.An example is if the query includes a primary key in the output list. Occorre inoltre disporre delle autorizzazioni necessarie per l'aggiornamento del database.In addition, you must have sufficient permission to update the database.

Se la query si basa su una vista, dovrebbe essere possibile aggiornarla.If your query is based on a view, you might be able to update it. Restano valide le stesse indicazioni, con l'eccezione che si applicano non solo alla vista in sé, ma anche alle tabelle sottostanti.The same guidelines apply, except that they apply to the underlying tables in the view, not just to the view itself.

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.The Query and View Designer cannot determine in advance whether you can update a result set based on a view. Vengono pertanto visualizzate tutte le viste, anche se alcune potrebbero non essere aggiornabili.Therefore, it displays all views, even though you might not be able to update them.

La tabella che segue contiene un riepilogo di istanze specifiche in cui è o non è possibile aggiornare i risultati delle query nel riquadro Risultati.The following table summarizes specific instances in which you might and might not be able to update query results in the Results pane. In numerosi casi la possibilità di aggiornare o meno i risultati delle query dipende dal database utilizzato.In many cases, the database you are using dictates whether you can update query results.

QueryQuery Possibilità di aggiornare i risultatiCan results be updated?
Query basata su una tabella con chiave primaria nell'elenco di outputQuery based on one table with primary key in the output list Sì, ad eccezione di quanto elencato di seguito.Yes (except as listed below).
Query basata su una tabella senza indice univoco e senza chiave primariaQuery based on a table with no unique index and without a primary key Dipende dalla query e dal database.Depends on query and database. Alcuni database consentono l'aggiornamento se sono disponibili informazioni sufficienti per l'identificazione univoca dei record.Some databases allow updates if sufficient information is available to uniquely identify records.
Query basata su più tabelle non uniteQuery based on multiple tables which are not joined No.No.
Query basata su dati contrassegnati in sola lettura nel databaseQuery based on data marked as read-only in the database No.No.
Query basata su una vista relativa a una tabella senza vincoliQuery based on a view that involves one table with no constraints Sì, ad eccezione di quanto elencato di seguito.Yes (except as listed below).
Query basata su tabelle unite da una relazione uno-a-unoQuery based on tables joined with a one-to-one relationship Sì, ad eccezione di quanto elencato di seguito.Yes (except as listed below).
Query basata su tabelle unite da una relazione uno-a-moltiQuery based on tables joined with a one-to-many relationship In genere sì.Usually.
Query basata su tre o più tabelle unite da una relazione molti-a-moltiQuery based on three or more tables in which there is a many-to-many relationship No.No.
Query basata su una tabella per la quale non è stata concessa l'autorizzazione di aggiornamentoQuery based on a table for which update permission is not granted Possibile l'eliminazione ma non l'aggiornamento.Can delete but not update.
Query basata su una tabella per la quale non è stata concessa l'autorizzazione di eliminazioneQuery based on a table for which delete permission is not granted Possibile l'aggiornamento ma non l'eliminazione.Can update but not delete.
Query di aggregazioneAggregate query No.No.
Query basata su una sottoquery contenente totali o funzioni di aggregazioneQuery based on a subquery that contains totals or aggregate functions No.No.
Query che include la parola chiave DISTINCT per l'esclusione di righe duplicateQuery that includes the DISTINCT keyword to exclude duplicate rows No.No.
Query la cui clausola FROM include una funzione definita dall'utente che contiene più istruzioni Select e che restituisce una tabellaQuery whose FROM clause includes a user-defined function that returns a table and the user-defined function contains multiple select statements No.No.
Query la cui clausola FROM include una funzione inline definita dall'utenteQuery whose FROM clause includes an inline user-defined function Sì.Yes.

Può inoltre non essere possibile aggiornare colonne specifiche dei risultati delle query.In addition, you might not be able to update specific columns in the query results. L'elenco che segue contiene un riepilogo delle colonne che non è possibile aggiornare nel riquadro Risultati.The following list summarizes specific types of columns that you cannot update in the Results pane.

  • Colonne basate su espressioniColumns based on expressions

  • Colonne basate su funzioni scalari definite dall'utenteColumns based on scalar user-defined functions

  • Righe o colonne eliminate da un altro utenteRows or columns deleted by another user

  • Righe o colonne bloccate da un altro utente. Le righe bloccate possono in genere essere aggiornate appena vengono sbloccate.Rows or columns locked by another user (locked rows can usually be updated as soon as they are unlocked)

  • Colonne timestamp o BLOBTimestamp or BLOB columns

Vedere ancheSee Also

Procedure per la progettazione di query e viste (Visual Database Tools)Design Queries and Views How-to Topics (Visual Database Tools)