Махеш не совсем прав, когда говорит, что вы не можете изменять данные в представлении. Так что с точки зрения Патрика
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
Я могу обновить данные ... в качестве примера я могу сделать любой из этих ...
Update vw_user_profile Set profile_description='Manager' where user_id=4
или
Update tbl_profile Set profile_description='Manager' where user_id=4
Вы не можете вставить это представление, так как не все поля во всей таблице присутствуют, и я предполагаю, что PROFILE_ID является первичным ключом и не может быть NULL. Однако иногда вы можете ВСТАВИТЬ в вид ...
Я создал вид на существующую таблицу, используя ...
Create View Junk as SELECT * from [TableName]
ЗАТЕМ
Insert into junk (Code,name) values
('glyn','Glyn Roberts'),
('Mary','Maryann Roberts')
и
DELETE from Junk Where ID>4
И ВСТАВКА и УДАЛЕНИЕ работали в этом случае
Очевидно, что вы не можете обновить какие-либо поля, которые агрегированы или вычислены, но любой вид, который является просто прямым, должен быть обновляемым.
Если представление содержит более одной таблицы, вы не можете вставить или удалить ее, но если представление является подмножеством только одной таблицы, то обычно это можно сделать.