相关疑难解决方法(0)

什么是好的观点?

我只是想大致了解RDBMSes中使用的视图.也就是说,我知道一个观点是什么以及如何制作一个观点.我也知道我过去曾用过它们.

但我想确保我彻底了解视图的用处以及视图不应该有用的内容.进一步来说:

  1. 什么是有用的视图?
    • 在不使用视图的情况下,是否存在使用视图的诱惑?
    • 为什么要使用视图来代替表值函数,反之亦然?
    • 是否有任何情况下视图可能有用,乍一看并不明显?

(并且为了记录,其中一些问题是故意天真的.这部分是概念检查.)

sql views rdbms-agnostic

83
推荐指数
8
解决办法
1万
查看次数

带有连接表的SQL可更新视图

我有一个看起来与此相似的观点,

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

sql-server view sql-view sql-update

15
推荐指数
2
解决办法
3万
查看次数

标签 统计

rdbms-agnostic ×1

sql ×1

sql-server ×1

sql-update ×1

sql-view ×1

view ×1

views ×1