oracle表基础散粉

hllllf1 2011-11-03 02:24:56
PL/SQL 下 有Tables和Views,里面的表有什么区别?T_table ,V_table
oracle不懂
...全文
99 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
BenChiM888 2011-11-03
  • 打赏
  • 举报
回复

--如:
create or replace view my_view as
select * from table_name;

--我建立了一个名为 my_view 的视图,这个视图中并没有数据,数据库会把 查询语句“缓存”
--当我们查询视图的时候,oracle会调取 查询语句 进行查询 然后将数据返还给你

--再如:
create or replace view my_view as
select * from table_name with read only;
--上面 我建立了一个只读视图,这样你就不可以向其中插入数据了。

--再或者 我建立的视图中有 聚合函数 如 sum() count() avg()等得时候,这个视图也不允许插入和修改。
--再或者 多个表关联视图也是不允许插入和修改的。
--当然视图上是可以建立 instead of trigger 的,通过替代触发器达到修改本表的效果。






[Quote=引用 5 楼 hllllf1 的回复:]
视图表里 select 有数据,从页面上也可以insert 进数据啊
[/Quote]
hllllf1 2011-11-03
  • 打赏
  • 举报
回复
视图表里 select 有数据,从页面上也可以insert 进数据啊
BenChiM888 2011-11-03
  • 打赏
  • 举报
回复
table 是实体表
view 是定义,里面没有数据,用到的时候再根据定义取数据,当然物化视图除外。
instr:
http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/


[Quote=引用 2 楼 hllllf1 的回复:]
有什么区别么?都是实体表么?


另外这个函数怎么用?
where instr(',1,42,45,46,49,47,50,48,52,53,54,55,41,43,44,,',','||t.id || ',') > 0
[/Quote]
yixilan 2011-11-03
  • 打赏
  • 举报
回复

[Quote=引用 1 楼 cosio 的回复:]
SQL code
一个表,一个是视图!
两则不一样
[/Quote]
另外,视图可以是由多个表的不同字段组成的,就像一个快照一样。
hllllf1 2011-11-03
  • 打赏
  • 举报
回复
有什么区别么?都是实体表么?


另外这个函数怎么用?
where instr(',1,42,45,46,49,47,50,48,52,53,54,55,41,43,44,,',','||t.id || ',') > 0
cosio 2011-11-03
  • 打赏
  • 举报
回复
一个表,一个是视图!

两则不一样

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧