2014-01-07 61 views
0

在我的大学笔记中,我目前正试图研究视图,但材料中没有任何地方显示何时可以更新,插入或删除简单视图的条件。我认为特权可以有很多与此有关的事情,似乎是常识,不允许视图中的数据被创建视图的人以外的任何人删除,但这不是常识,只是可以更新,插入或删除一个视图以及它的标准是什么。简单的数据库视图(更新,插入,删除)

我的例子中,我创建了一个名为 EmployeeName看法更是把 first_namelast_name下一个新领域 Name就像

所以

CREATE VIEW EmployeeName as 
SELECT first_name + last_name "Names" 
FROM Employees; 

(不能完全肯定这句法任,但我认为它的右边)

可以在这个领域进行更新,插入或任何人谁​​有权访问这个观点?(没有权限)删除

+3

对于不同的数据库系统,规则可能会有所不同。 –

+0

就我个人而言,我绝不会通过视图来做到这一点。改用计算列。 – HLGEM

+1

有一本关于这个问题的书,由CJ发表日期:http://shop.oreilly.com/product/0636920028437.do –

回答

0

有一定的条件必须得到满足,所以塔t视图可以更新。 例如,如果您有一个聚合函数,您显然无法更新它。

有关甲骨文公司的信息,你可以找到here

For MySQL这是非常类似于Oracle

+0

这更多的是一个理论上看不太实际的观点,但我们使用甲骨文所以我的例子假设我可以在这个观点上做所有三件事,但是说我有另一个与AVG运营商这不会工作正确吗? – user3071845

+0

对,它将是不可更新的视图。 – Alexander

+0

非常感谢你。奇怪的是,这方面没有太多的信息,但这种联系非常好 – user3071845

0

在SQL Server中有更新视图中的特定规则,他们都非常复杂。每个数据库都会做不同的处理由于这些规则,可能大多数我多年来看到的观点都是不可更新的。

个人而言,我更喜欢直接更新表格,而不是通过视图更新表格。如果你可能有不同的数据库后端,tehyn我会明确考虑直接更新表,而不是每个数据库的规则不同。

相关问题