Compartir a través de


Modificación de datos a través de una vista

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

Puede modificar los datos de una tabla base subyacente en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Limitaciones

Consulte la sección "Vistas actualizables" en CREATE VIEW.

Permisos

Requiere permisos en UPDATE, INSERT o DELETE en la tabla de destino, dependiendo de la acción que se esté realizando.

Uso de SQL Server Management Studio

Modificación de datos de tabla a través de una vista

  1. En el Explorador de objetos, expanda la base de datos que contiene la vista y, a continuación, expanda Vistas.

  2. Haga clic con el botón derecho en la vista y seleccione Editar las primeras 200 filas.

  3. Es posible que tenga que modificar la SELECT instrucción en el panel SQL para devolver las filas que se van a modificar.

  4. En el panel de Resultados , busque la fila que se va a cambiar o eliminar. Para eliminar la fila, haga clic con el botón derecho en ella y seleccione Eliminar. Para cambiar los datos de una o más columnas, modifique los datos de la columna.

    No se puede eliminar una fila si la vista hace referencia a más de una tabla base. Solo pueden actualizarse las columnas que pertenecen a una única tabla base.

  5. Para insertar una fila, desplácese hasta el final de las filas e inserte los nuevos valores.

    No se puede insertar una fila si la vista hace referencia a más de una tabla base.

Uso de Transact-SQL

Actualizar datos de tabla a través de una vista

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. Este ejemplo cambia el valor de las columnas StartDate y EndDate de un empleado concreto mediante referencias a columnas de la vista HumanResources.vEmployeeDepartmentHistory. Esta vista devuelve valores de dos tablas. Esta instrucción se realiza correctamente porque las columnas que se modificaron solo provienen de una de las tablas base.

    USE AdventureWorks2022;
    GO
    
    UPDATE HumanResources.vEmployeeDepartmentHistory
        SET StartDate = '20110203',
            EndDate   = GETDATE()
    WHERE LastName = N'Smith'
          AND FirstName = 'Samantha';
    GO
    

Para obtener más información, consulte UPDATE.

Insertar datos de tabla a través de una vista

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. El ejemplo especifica las columnas relevantes de la vista HumanResources.Department para insertar una nueva fila en la tabla base HumanResources.vEmployeeDepartmentHistory. La instrucción se realiza correctamente porque solo se especifican las columnas de una tabla base y las demás columnas de la tabla base tienen valores predeterminados.

    USE AdventureWorks2022;
    GO
    
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName)
    VALUES ('MyDepartment', 'MyGroup');
    GO
    

Para obtener más información, vea INSERT.