oracle sql视图指定了更多标准

时间:2014-04-17 14:12:58

标签: sql oracle

如果您在oracle sql中创建了一个视图,如

 create view view_item as
 select *
 from employees

然后你可以像select * from view_item一样调用它。但是,我想知道是否有可能进一步指定一些不属于初始视图规范的creteria,例如

  select * from view_item where name='Mark'

除非我事先将其指定到视图中,否则这个工作不会起作用。

1 个答案:

答案 0 :(得分:1)

视图是保存在DBMS上的查询,因此您运行的位置为:

 create view view_item as
 select *
 from employees

您只需将查询保存在DBMS内存中的某处。

当你跑步时:

select * from view_item

你真的跑了:

 select *
 from employees

但是 - 这是有趣的部分 - 对你而言,它看起来像一张桌子,所以你可以用一个地方附加它:

select * from view_item where name ='Mark' 

将映射到

 select *
 from employees where name = 'Mark'

让我们更进一步,假设您创建了一个带有where子句的视图

 create view view_item as
 select *
 from employees
 where salary < 10000

比之前的同一查询:

select * from view_item where name ='Mark' 

将映射到

select *
from employees 
where salary < 10000 and name = 'Mark'

DBMS非常酷:)

你应该玩它来了解背景中究竟发生了什么,因为你可以将它用于权限和其他事情。