Mahesh n'a pas tout à fait raison lorsqu'il suggère que vous ne pouvez pas modifier les données d'une vue. Donc avec le point de vue 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
JE PEUX mettre à jour les données ... à titre d'exemple, je peux faire l'un de ces deux ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
ou
Update tbl_profile Set profile_description='Manager' where user_id=4
Vous ne pouvez pas INSÉRER dans cette vue car tous les champs de toute la table ne sont pas présents et je suppose que PROFILE_ID est la clé primaire et ne peut pas être NULL. Cependant, vous pouvez parfois INSÉRER dans une vue ...
J'ai créé une vue sur une table existante en utilisant ...
Create View Junk as SELECT * from [TableName]
PUIS
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
et
DELETE from Junk Where ID>4
L'INSERT et le DELETE ont tous deux fonctionné dans ce cas
Évidemment, vous ne pouvez pas mettre à jour les champs qui sont agrégés ou calculés, mais toute vue qui n'est qu'une vue simple devrait pouvoir être mise à jour.
Si la vue contient plus d'une table, vous ne pouvez pas insérer ou supprimer, mais si la vue est un sous-ensemble d'une seule table, vous le pouvez généralement.