Mahesh no es del todo correcto cuando sugiere que no se pueden alterar los datos en una vista. Entonces con la opinión de patrick
CREATE View vw_user_profile AS
Select A.user_id, B.profile_description
FROM tbl_user A left join tbl_profile B on A.user_id = b.user_id
PUEDO actualizar los datos ... como ejemplo, puedo hacer cualquiera de estos ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
o
Update tbl_profile Set profile_description='Manager' where user_id=4
No puede INSERTAR en esta vista, ya que no todos los campos de toda la tabla están presentes y supongo que PROFILE_ID es la clave principal y no puede ser NULL. Sin embargo, a veces puede INSERTAR en una vista ...
Creé una vista en una tabla existente usando ...
Create View Junk as SELECT * from [TableName]
LUEGO
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
y
DELETE from Junk Where ID>4
Tanto el INSERT como el DELETE funcionaron en este caso
Obviamente, no puede actualizar ningún campo que se agregue o calcule, pero cualquier vista que sea solo una vista directa debería ser actualizable.
Si la vista contiene más de una tabla, no puede insertarla ni eliminarla, pero si la vista es un subconjunto de una sola tabla, generalmente puede hacerlo.