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
- Vea la sección 'Vistas actualizables' en CREATE VIEW (Transact-SQL).
Seguridad
Permisos
Requiere los permisos UPDATE, INSERT o DELETE en la tabla de destino, en función de la acción que se realizará.
[Top]
Usar SQL Server Management Studio
Para modificar los datos de la tabla mediante una vista
En el Explorador de objetos, expanda la base de datos que contiene la vista y, a continuación, expanda Vistas.
Haga clic con el botón secundario en la vista y seleccione Editar las primeras 200 filas.
Quizás necesite modificar la instrucción SELECT en el panel SQL para devolver las filas que se modificarán.
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.
Importante 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.
Para insertar una fila, desplácese hasta el final de las filas e inserte los nuevos valores.
Importante No se puede insertar una fila si la vista hace referencia a más de una tabla base.
[Top]
Usar Transact-SQL
Para actualizar los datos de la tabla mediante una vista
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra de Estándar, haga clic en Nueva consulta.
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
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra de Estándar, haga clic en Nueva consulta.
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).
[Top]