Mahesh não está certo quando sugere que você não pode alterar os dados em uma exibição. Então, com a visão 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
POSSO atualizar os dados ... como exemplo, posso fazer um desses ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
ou
Update tbl_profile Set profile_description='Manager' where user_id=4
Você não pode INSERIR nessa exibição, pois nem todos os campos de toda a tabela estão presentes e estou assumindo que PROFILE_ID é a chave primária e não pode ser NULL. No entanto, às vezes você pode INSERIR em uma visualização ...
Criei uma exibição em uma tabela existente usando ...
Create View Junk as SELECT * from [TableName]
ENTÃO
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
e
DELETE from Junk Where ID>4
Tanto o INSERT quanto o DELETE trabalharam neste caso
Obviamente, você não pode atualizar nenhum campo agregado ou calculado, mas qualquer exibição que seja apenas uma exibição direta deve ser atualizável.
Se a visualização contiver mais de uma tabela, você não poderá inserir ou excluir, mas se a visualização for apenas um subconjunto de uma tabela, normalmente poderá.