视图有什么好处?写一个视图sql

g13051407191 2009-10-30 01:09:48
oracle下的


视图有什么好处

客服端请求一次要跟5个表有联系

数据量在400条左右请求一次

用视图有什么好处?

麻烦写一个例子
...全文
1010 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
authorzhh 2011-09-23
  • 打赏
  • 举报
回复
最起码 。好读懂。。。

落幕年代 2011-09-23
  • 打赏
  • 举报
回复
mark…………
garl2011 2009-10-30
  • 打赏
  • 举报
回复
视图只是一张虚表,只是逻辑上存在的一张表。你每次获取视图时,实际上还是需要数据库执行一边创建视图的搜索语句的。所以在执行效率上并没有任何好处。
视图的好处就是在你做复杂的查询逻辑时可以简化你的思考过程,比如你有一个查询语句需要select a.a, a.b from (select x a, y b from t where ....) a where ......你可以把内部的select 语句变成view,这样整个语句会变成select v.a, v.b from v where .....对你思考查询逻辑有利。
岁月之梦 2009-10-30
  • 打赏
  • 举报
回复
视图是为了查询方便!也就是多个表的总结!但是不能对视图增删改!

我感觉:增删改用存储,查看用函数!最好!
caryyu 2009-10-30
  • 打赏
  • 举报
回复
你可以先用视图建一个总的查询
然后再按照参数为条件 从视图里找数据哈
g13051407191 2009-10-30
  • 打赏
  • 举报
回复
答出来我在追加100分 技术含量
g13051407191 2009-10-30
  • 打赏
  • 举报
回复
为什么不能用参数 我是根据3个参数查询的 我这里嵌套这么多 怎么去掉参数
swandragon 2009-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 g13051407191 的回复:]
select item.id,item.name2,mt.id,mt.name,mt.itemtype,mtd.id,mtd.name
,mtd.methodsource,aa.iscertified,aa.certifiedname,aa.personnum,aa.id,aa.ORGID,
mtd.apptype,mtd.creator from itemtype
item left join monitoritems mt on item.id=mt.itemtype left join
monitormethods mtd on mt.id=mtd.itemtype  left join (select mtf.id,mtf.MONITORMETHODID,
mtf.iscertified,mtf.certifiedname,mtf.personnum,mtf.ORGID  from monitoritemsinfo mtf
where mtf.creator='hebeidata' and mtf.orgid='2147' ) aa on
mtd.id=aa.MONITORMETHODID  where item.id='10100' order by mtd.creator

请求一次查询的数据这么多表 还有3个参数 怎么写成视图呢
[/Quote]
视图中不能用参数,把参数去掉
创建出视图,从视图中查询数据时加上参数
swandragon 2009-10-30
  • 打赏
  • 举报
回复
用视图有什么好处?
简化查询的动作;还可以衍生出更多的应用
语法
CREATE VIEW owner.view_name[(column[,⋯n])]
[WITH{ENCRYPTION┃SCHEMBINDING┃VIEW_METADATA}[,n]]
AS
Select_statement
[WITH CHECK OPTION]

CREATE VIEW id1,name2,id2,name,itmetype,id3,name3,methodsource,iscertified,certifiedname,personnum
,id4 ,ORGID,apptype,creator
AS
select item.id,item.name2,mt.id,mt.name,mt.itemtype,mtd.id,mtd.name
,mtd.methodsource,aa.iscertified,aa.certifiedname,aa.personnum,aa.id,aa.ORGID,
mtd.apptype,mtd.creator from itemtype
item left join monitoritems mt on item.id=mt.itemtype left join
monitormethods mtd on mt.id=mtd.itemtype left join (select mtf.id,mtf.MONITORMETHODID,
mtf.iscertified,mtf.certifiedname,mtf.personnum,mtf.ORGID from monitoritemsinfo mtf
where mtf.creator='hebeidata' and mtf.orgid='2147' ) aa on
mtd.id=aa.MONITORMETHODID where item.id='10100' order by mtd.creator
g13051407191 2009-10-30
  • 打赏
  • 举报
回复
select item.id,item.name2,mt.id,mt.name,mt.itemtype,mtd.id,mtd.name
,mtd.methodsource,aa.iscertified,aa.certifiedname,aa.personnum,aa.id,aa.ORGID,
mtd.apptype,mtd.creator from itemtype
item left join monitoritems mt on item.id=mt.itemtype left join
monitormethods mtd on mt.id=mtd.itemtype left join (select mtf.id,mtf.MONITORMETHODID,
mtf.iscertified,mtf.certifiedname,mtf.personnum,mtf.ORGID from monitoritemsinfo mtf
where mtf.creator='hebeidata' and mtf.orgid='2147' ) aa on
mtd.id=aa.MONITORMETHODID where item.id='10100' order by mtd.creator

请求一次查询的数据这么多表 还有3个参数 怎么写成视图呢

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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