为什么我得到View或函数'Dept20'是不可更新的,因为修改会影响多个基表?
create view Dept20
as select j.kojab as employe_id ,p.nama as employee ,j.gapok
from jabatan j, pegawai p
where j.kojab = p.Kojab
and j.kojab = 4
当我想删除时
delete from Dept20
where employee = 'rojib2'
我收到错误:
Msg 4405,Level 16,State 1,Line 2
视图或功能'Dept20'不可更新,因为修改 影响多个基表。
我需要帮助......
答案 0 :(得分:0)
您遇到的概念(错误)称为Updatable View。基本上,数据库服务器无法自行确定应删除的内容,因为从视图到相关基表的反向映射是不明确的。正如评论中所指出的那样,您可以考虑在视图中定义INSTEAD OF TRIGGER。