Mahesh ist nicht ganz richtig, wenn er vorschlägt, dass Sie die Daten in einer Ansicht nicht ändern können. Also mit Patricks Sicht
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
Ich kann die Daten aktualisieren ... als Beispiel kann ich beides tun ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
oder
Update tbl_profile Set profile_description='Manager' where user_id=4
Sie können diese Ansicht nicht einfügen, da nicht alle Felder in der gesamten Tabelle vorhanden sind und ich davon ausgehe, dass PROFILE_ID der Primärschlüssel ist und nicht NULL sein kann. Sie können jedoch manchmal in eine Ansicht EINFÜGEN ...
Ich habe eine Ansicht für eine vorhandene Tabelle mit ...
Create View Junk as SELECT * from [TableName]
DANN
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
und
DELETE from Junk Where ID>4
In diesem Fall funktionierten sowohl INSERT als auch DELETE
Natürlich können Sie keine Felder aktualisieren, die aggregiert oder berechnet sind, aber jede Ansicht, die nur eine gerade Ansicht ist, sollte aktualisierbar sein.
Wenn die Ansicht mehr als eine Tabelle enthält, können Sie sie nicht einfügen oder löschen. Wenn die Ansicht jedoch nur eine Teilmenge einer Tabelle ist, können Sie dies normalerweise tun.