楼主: moonsoft

大家见过这种连接表的方法么h.je_batch_id + 0 = b.je_batch_id + 0

[复制链接]
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
21#
发表于 2007-1-24 14:13 | 只看该作者
唯一性必然有索引,11i以前的版本是8i可能CBO还不成熟。

使用道具 举报

回复
论坛徽章:
0
22#
发表于 2007-1-24 15:25 | 只看该作者
是不是为了避免为空的情况

使用道具 举报

回复
论坛徽章:
1
23#
发表于 2007-1-25 20:34 | 只看该作者
应该是禁止使用建立在这个Table上面的索引吧。

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2007-01-15 14:23:30生肖徽章:蛇
日期:2007-01-25 16:51:01ITPUB元老
日期:2007-07-06 14:54:54会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
24#
发表于 2007-1-26 08:47 | 只看该作者
我以前見到過很多這樣的情況,都沒有去想,原來會有這麼多涵義

使用道具 举报

回复
论坛徽章:
23
ITPUB元老
日期:2005-02-28 12:57:00生肖徽章2007版:虎
日期:2008-01-02 17:35:532010年世界杯参赛球队:韩国
日期:2010-04-08 17:56:442010广州亚运会纪念徽章:帆船
日期:2011-04-01 14:54:19
25#
发表于 2007-1-26 14:02 | 只看该作者
想起来了,可能还有个作用,是为了强制做数据类型的转换。这里可能是强制转换为数字类型。

使用道具 举报

回复
论坛徽章:
164
技术图书徽章
日期:2018-12-26 10:01:29指数菠菜纪念章
日期:2013-06-28 17:41:29蛋疼蛋
日期:2013-04-03 16:29:52指数菠菜纪念章
日期:2013-04-01 15:26:282013年新春福章
日期:2013-02-25 14:51:24指数菠菜纪念章
日期:2013-01-04 11:30:40指数菠菜纪念章
日期:2012-09-29 10:28:42版主6段
日期:2012-05-15 15:24:11指数菠菜纪念章
日期:2012-03-31 14:04:28茶鸡蛋
日期:2012-03-12 16:56:15
26#
发表于 2007-1-26 14:17 | 只看该作者
最初由 fugang 发布
[B]想起来了,可能还有个作用,是为了强制做数据类型的转换。这里可能是强制转换为数字类型。 [/B]


也有可能,但对后台的操作不是很了解

使用道具 举报

回复
招聘 : .Net研发
论坛徽章:
24
ITPUB元老
日期:2005-02-28 12:57:00会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:33
27#
发表于 2007-1-26 16:32 | 只看该作者
我研究了一下,在日记帐Form中,我输入了几个条件,Form是这样使用这个view的

select *
  FROM GL_JE_BATCHES_HEADERS_V
WHERE ((('A' = 'A') AND (actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
       (actual_flag = 'A'))
   AND set_of_books_id = 1
   AND - 1 = -1
   AND (je_batch_id = header_je_batch_id_qry + 0)
   AND (PERIOD_NAME = '3-03')
   AND (HEADER_NAME LIKE '0303Y293_发放工资')
   AND (HEADER_PERIOD_NAME_QRY = '3-03')
ORDER BY batch_name, period_name

转化到表级别的大概就等于

select *

  FROM gl_je_batches b, gl_je_headers h
WHERE h.je_batch_id + 0 = b.je_batch_id + 0
and ((('A' = 'A') AND (b.actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
       (b.actual_flag = 'A'))
   AND  b.set_of_books_id = 1
   AND - 1 = -1
   AND (h.je_batch_id = b.je_batch_id + 0)
   --AND (b.NAME LIKE '0303Y293_发放工资 31-OCT-2003 12:12:17')
   AND (b.PERIOD_NAME = '3-03')
   AND (h.name LIKE '0303Y293_发放工资')
   AND (h.period_name = '3-03')

很明显,在使用这个视图的过程中,他们对h.je_batch_id和b.je_batch_id  进行了又一次的关联 ,这样做的目的可能是,create view 和应用开发是不同的team,view这样做的好处是让应用开发人员可以自由控制index的使用

使用道具 举报

回复
论坛徽章:
48
ITPUB元老
日期:2008-03-18 08:54:04马上有钱
日期:2014-03-13 14:01:55马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11林肯
日期:2013-08-29 13:42:39红旗
日期:2013-08-02 17:22:082013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:37ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282010年世界杯参赛球队:法国
日期:2009-12-21 05:25:54
28#
 楼主| 发表于 2007-1-26 16:41 | 只看该作者

有道理

最初由 bluesurf 发布
[B]我研究了一下,在日记帐Form中,我输入了几个条件,Form是这样使用这个view的

select *
  FROM GL_JE_BATCHES_HEADERS_V
WHERE ((('A' = 'A') AND (actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
       (actual_flag = 'A'))
   AND set_of_books_id = 1
   AND - 1 = -1
   AND (je_batch_id = header_je_batch_id_qry + 0)
   AND (PERIOD_NAME = '3-03')
   AND (HEADER_NAME LIKE '0303Y293_发放工资')
   AND (HEADER_PERIOD_NAME_QRY = '3-03')
ORDER BY batch_name, period_name

转化到表级别的大概就等于

select *

  FROM gl_je_batches b, gl_je_headers h
WHERE h.je_batch_id + 0 = b.je_batch_id + 0
and ((('A' = 'A') AND (b.actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
       (b.actual_flag = 'A'))
   AND  b.set_of_books_id = 1
   AND - 1 = -1
   AND (h.je_batch_id = b.je_batch_id + 0)
   --AND (b.NAME LIKE '0303Y293_发放工资 31-OCT-2003 12:12:17')
   AND (b.PERIOD_NAME = '3-03')
   AND (h.name LIKE '0303Y293_发放工资')
   AND (h.period_name = '3-03')

很明显,在使用这个视图的过程中,他们对h.je_batch_id和b.je_batch_id  进行了又一次的关联 ,这样做的目的可能是,create view 和应用开发是不同的team,view这样做的好处是让应用开发人员可以自由控制index的使用 [/B]


这个转化过程是如何推理的呢

使用道具 举报

回复
招聘 : .Net研发
论坛徽章:
24
ITPUB元老
日期:2005-02-28 12:57:00会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:33
29#
发表于 2007-1-26 16:44 | 只看该作者
就是在view中找项转化为表中的项而已

使用道具 举报

回复
论坛徽章:
41
生肖徽章:鸡
日期:2006-09-06 21:16:07生肖徽章:鸡
日期:2006-09-26 17:35:04生肖徽章:鸡
日期:2006-10-27 07:23:32金色在线徽章
日期:2007-01-03 04:01:42生肖徽章:鸡
日期:2007-01-25 16:58:43
30#
发表于 2007-1-26 16:51 | 只看该作者
最初由 bluesurf 发布
[B]就是在view中找项转化为表中的项而已 [/B]
还是不太明白

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表