Mahesh non è del tutto corretto quando suggerisce che non è possibile modificare i dati in una vista. Quindi con il punto di vista di 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 aggiornare i dati ... ad esempio posso fare uno di questi ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
o
Update tbl_profile Set profile_description='Manager' where user_id=4
Non è possibile INSERIRE a questa vista poiché non tutti i campi in tutta la tabella sono presenti e suppongo che PROFILE_ID sia la chiave primaria e non possa essere NULL. Tuttavia a volte puoi INSERIRE in una vista ...
Ho creato una vista su una tabella esistente usando ...
Create View Junk as SELECT * from [TableName]
POI
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
e
DELETE from Junk Where ID>4
Sia INSERT che DELETE hanno funzionato in questo caso
Ovviamente non è possibile aggiornare i campi che sono aggregati o calcolati, ma qualsiasi vista che è solo una vista diretta dovrebbe essere aggiornabile.
Se la vista contiene più di una tabella, non è possibile inserire o eliminare, ma se la vista è solo un sottoinsieme di una tabella, in genere è possibile.