Modificar datos mediante una vista

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

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para modificar los datos de la tabla mediante una vista, use:

    SQL Server Management Studio

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

Seguridad

Permisos

Requiere los permisos UPDATE, INSERT o DELETE en la tabla de destino, en función de la acción que se realizará.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar SQL Server Management Studio

Para modificar los datos de la tabla mediante 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 secundario en la vista y seleccione Editar las primeras 200 filas.

  3. Quizás necesite modificar la instrucción SELECT en el panel SQL para devolver las filas que se modificarán.

  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 secundario en la fila y seleccione Eliminar. Para cambiar los datos de una o más columnas, modifique los datos de la columna.

    Nota importanteImportante

    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.

    Nota importanteImportante

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

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Transact-SQL

Para actualizar los datos de la tabla mediante una vista

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

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en 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 AdventureWorks2012 ; 
    GO
    UPDATE HumanResources.vEmployeeDepartmentHistory
    SET StartDate = '20110203', EndDate = GETDATE() 
    WHERE LastName = N'Smith' AND FirstName = 'Samantha'; 
    GO
    

Para obtener más información, vea UPDATE (Transact-SQL).

Para insertar datos de tabla mediante una vista

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

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. El ejemplo especifica las columnas relevantes de la vista HumanResources.vEmployeeDepartmentHistory para insertar una nueva fila en la tabla base HumanResouces.Department. 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 AdventureWorks2012 ;
    GO
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) 
    VALUES ('MyDepartment', 'MyGroup'); 
    GO
    

Para obtener más información, vea INSERT (Transact-SQL).

Icono de flecha usado con el vínculo Volver al principio[Top]