我只是想大致了解RDBMSes中使用的视图.也就是说,我知道一个观点是什么以及如何制作一个观点.我也知道我过去曾用过它们.
但我想确保我彻底了解视图的用处以及视图不应该有用的内容.进一步来说:
(并且为了记录,其中一些问题是故意天真的.这部分是概念检查.)
我有一个看起来与此相似的观点,
SELECT dbo.Staff.StaffId, dbo.Staff.StaffName, dbo.StaffPreferences.filter_type
FROM dbo.Staff LEFT OUTER JOIN
dbo.StaffPreferences ON dbo.Staff.StaffId = dbo.StaffPreferences.StaffId
Run Code Online (Sandbox Code Playgroud)
我正在尝试更新StaffPreferences.filter_type使用,
UPDATE vw_Staff SET filter_type=1 WHERE StaffId=25
Run Code Online (Sandbox Code Playgroud)
我在MSDN文章中读过这篇文章,
任何修改(包括UPDATE,INSERT和DELETE语句)都必须仅引用一个基表中的列.
这是否意味着我只能更新dbo.Staff中的字段(这是我当前可以实现的)在这个上下文中,'base table'的定义是否扩展到任何后续连接的表?
编辑:这是MS SQL