Condividi tramite


Modificare i dati tramite una visualizzazione

Si applica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema di Piattaforma Analitica (PDW)Database SQL in Microsoft Fabric

È possibile modificare i dati di una tabella di base sottostante in SQL Server usando SQL Server Management Studio o Transact-SQL.

Limitazioni

Vedere la sezione "Viste aggiornabili" in CREATE VIEW.

Autorizzazioni

Richiede UPDATE, INSERT o DELETE autorizzazioni per la tabella di destinazione, a seconda dell'azione eseguita.

Usare SQL Server Management Studio

Modificare i dati della tabella tramite una vista

  1. In Esplora oggettiespandere il database contenente la vista, quindi espandere Viste.

  2. Fare clic con il pulsante destro del mouse sulla vista e selezionare Modifica le prime 200 righe.

  3. Potrebbe essere necessario modificare l'istruzione SELECT nel riquadro SQL per restituire le righe da modificare.

  4. 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.

    Non è possibile eliminare una riga se la vista fa riferimento a più tabelle di base. È possibile aggiornare solo le colonne che appartengono a una singola tabella di base.

  5. Per inserire una riga, scorrere fino alla fine delle righe e inserire i nuovi valori.

    Non è possibile inserire una riga se la vista fa riferimento a più tabelle di base.

Usare Transact-SQL

Aggiornare i dati della tabella tramite una vista

  1. In Esplora oggetti, connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio si modifica il valore nelle colonne StartDate e EndDate per un dipendente specifico facendo riferimento alle colonne nella vista HumanResources.vEmployeeDepartmentHistory. Tramite questa vista vengono restituiti valori da due tabelle. Questa dichiarazione riesce perché le colonne che vengono 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.

Inserire dati di tabella tramite una vista

  1. In Esplora oggetti, connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. Nell'esempio si inserisce una nuova riga nella tabella di base HumanResources.Department specificando le relative colonne dalla vista HumanResources.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.