Modificare i dati tramite una vista
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)
È possibile modificare i dati di una colonna in SQL Server usando SQL Server Management Studio o Transact-SQL.
Prima di iniziare
Limitazioni e restrizioni
- Vedere la sezione "Viste aggiornabili" in CREATE VIEW (Transact-SQL).
Autorizzazioni
È richiesta l'autorizzazione UPDATE, INSERT o DELETE per la tabella di destinazione, a seconda dell'azione eseguita.
Utilizzo di SQL Server Management Studio
Per modificare i dati della tabella tramite una vista
In Esplora oggettiespandere il database contenente la vista, quindi espandere Viste.
Fare clic con il pulsante destro del mouse sulla vista e selezionare Modifica le prime 200 righe.
È possibile che sia necessario modificare l'istruzione SELECT nel riquadro SQL affinché vengano restituite le righe da modificare.
Nel riquadro dei risultati individuare la riga da modificare o eliminare. Per eliminare la riga, fare clic con il pulsante destro del mouse sulla riga e scegliere Elimina. Per modificare i dati in una o più colonne, modificare i dati nella colonna.
Importante
Non è possibile eliminare una riga se la vista fa riferimento a più di una tabella di base. È possibile aggiornare solo le colonne che appartengono a una singola tabella di base.
Per inserire una riga, scorrere fino alla fine delle righe e inserire i nuovi valori.
Importante
Non è possibile inserire una riga se la vista fa riferimento a più di una tabella di base.
Utilizzo di Transact-SQL
Per aggiornare i dati della tabella tramite una vista
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. In questo esempio si modifica il valore nelle colonne
StartDate
eEndDate
per un dipendente specifico facendo riferimento alle colonne nella vistaHumanResources.vEmployeeDepartmentHistory
. Tramite questa vista vengono restituiti valori da due tabelle. Questa istruzione viene completata perché le colonne modificate provengono solo da una delle tabelle di base.USE AdventureWorks2022; GO UPDATE HumanResources.vEmployeeDepartmentHistory SET StartDate = '20110203', EndDate = GETDATE() WHERE LastName = N'Smith' AND FirstName = 'Samantha'; GO
Per altre informazioni, vedere UPDATE (Transact-SQL).
Per inserire i dati della tabella tramite una vista
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard fare clic su Nuova query.
Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Nell'esempio si inserisce una nuova riga nella tabella di base
HumanResources.Department
specificando le relative colonne dalla vistaHumanResources.vEmployeeDepartmentHistory
. L'istruzione viene completata perché sono specificate solo colonne di una singola tabella di base mentre le altre colonne in questa tabella dispongono di valori predefiniti.USE AdventureWorks2022; GO INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) VALUES ('MyDepartment', 'MyGroup'); GO
Per altre informazioni, vedere INSERT (Transact-SQL).