ビューのデータを変更できないと彼が示唆したとき、マヘシュはまったく正しくありません。だからパトリックの視点で
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
すべてのテーブルにすべてのフィールドが存在するわけではないため、このビューにINSERTすることはできません。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
この場合、INSERTとDELETEの両方が機能しました
明らかに、集計または計算されたフィールドを更新することはできませんが、単純なビューであるビューは更新可能でなければなりません。
ビューに複数のテーブルが含まれている場合は挿入または削除できませんが、ビューが1つのテーブルのみのサブセットである場合は、通常は挿入または削除できます。