ocp 里一题关于VIEW的描述,不太明白

[复制链接]
查看11 | 回复5 | 2011-1-4 10:37:10 | 显示全部楼层 |阅读模式
题目是问题下面哪些语句是正确描述VIEW的。
答案二个是:
rows cannot be deleted through a view if the view definition contains the DISTINCT keyword
我刚查资料没找到上述关于DISTINCT的解释,请大家解惑

the OR REPLACE option is used to change the definition of an existing view without dropping and re-createing
我记得用REPLACE 的话,如果原来VIEW存在,会先删除后重建的,这个和答案里面的without.......后面内容有矛盾。望解答。
回复

使用道具 举报

千问 | 2011-1-4 10:37:10 | 显示全部楼层
你误解了,这个说的是delete view,因为可以通过view来操作原始表的dml,有一些限制,详细地可以参考conepts
顺便你可以了解下delete (select .....) where ...这样的语法,包括update,insert,很牛比的,往往在一定条件下可以提高dml的效率,但是有很多限制
特别是oracle的update语法,我很不喜欢,他的语法怪异也是经常导致别人丢了where
回复

使用道具 举报

千问 | 2011-1-4 10:37:10 | 显示全部楼层
这个你在系统里试试就行了啊。建一个带distinct的view试试看能delete掉数据不。这个东西记住比理解有用吧
回复

使用道具 举报

千问 | 2011-1-4 10:37:10 | 显示全部楼层
这东西要侧重于理解,比如带distinct,group by,分析函数什么的,你想想,delete他怎么知道是哪条数据呢,理解了一切就很简单了
concepts里的很多话,一句话就能牵扯到n个知识点
回复

使用道具 举报

千问 | 2011-1-4 10:37:10 | 显示全部楼层
create or replace 的意思
如果同名view存在,只修改定义,也就是update,就without drop了,当然具体怎么修改数据字典的,要跟踪才知道
回复

使用道具 举报

千问 | 2011-1-4 10:37:10 | 显示全部楼层
删除一个视图和删除视图里的数据(也就是表的数据)完全是两码事。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行