<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>eboge</title>
    <description></description>
    <link>http://eboge.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>ORACLE ORA-01445 报错分析 JION的问题</title>
        <author>eboge</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eboge.javaeye.com">eboge</a>&nbsp;
                    链接：<a href="http://eboge.javaeye.com/blog/212674" style="color:red;">http://eboge.javaeye.com/blog/212674</a>&nbsp;
          发表时间: 2008年07月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>If you are writing queries that select from many tables, like denormalizing data for warehousing, and the sum of the columns in those tables exceeds 1,050, you&acirc;&euro;&trade;ll always get ORA-01445. This occurs from 9i through 10g2, and has happened often enough to me that I avoid my preference for ANSI syntax on Oracle databases, unless I&acirc;&euro;&trade;m just selecting from a few tables.</p>
<p>&nbsp;</p>
<p>在ORACLE 9I - 10G2 这些版本中， 用JION关键字连接的表，这些表的字段数量和要&lt;1050个， 不然会报ORA-01445，所以最好用逗号的连接方式。</p>
<p>&nbsp;</p>
<pre><code>APPS@sigma&gt; select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.5.0 - Prod
PL/SQL Release 10.1.0.5.0 - Production
CORE    10.1.0.5.0      Production
TNS for Linux: Version 10.1.0.5.0 - Production
NLSRTL Version 10.1.0.5.0 - Production

APPS@sigma&gt; SELECT NULL
  2    FROM oe_order_headers_all header INNER JOIN oe_order_lines_all line
  3         ON header.header_id = line.header_id
  4         INNER JOIN ra_customers cust ON header.sold_to_org_id = cust.customer_id
  5         INNER JOIN mtl_system_items_b item
  6         ON item.inventory_item_id = line.inventory_item_id
  7       AND item.organization_id = line.ship_from_org_id
  8         INNER JOIN org_organization_definitions org
  9         ON org.organization_id = line.ship_from_org_id
 10         LEFT OUTER JOIN ra_salesreps_all salesrep
 11         ON salesrep.salesrep_id = header.salesrep_id
 12       AND salesrep.org_id = header.org_id
 13         LEFT OUTER JOIN hr_locations_all sales_loc
 14         ON sales_loc.location_id = salesrep.attribute1
 15   WHERE header.orig_sys_document_ref = 'OE_ORDER_HEADERS_ALL74846'
 16     AND header.order_source_id = 0;

       LEFT OUTER JOIN hr_locations_all sales_loc
                       *
ERROR at line 13:
ORA-01445: cannot select ROWID from, or sample, a join view without a
key-preserved table
</code></pre>
<p>Now, using the good old Oracle SQL syntax:</p>
<pre><code>APPS@sigma&gt; SELECT NULL
  2    FROM oe_order_headers_all header,
  3         oe_order_lines_all line,
  4         ra_customers cust,
  5         mtl_system_items_b item,
  6         org_organization_definitions org,
  7         ra_salesreps_all salesrep,
  8         hr_locations_all sales_loc
  9   WHERE header.header_id = line.header_id
 10     AND header.sold_to_org_id = cust.customer_id
 11     AND item.inventory_item_id = line.inventory_item_id
 12     AND item.organization_id = line.ship_from_org_id
 13     AND org.organization_id = line.ship_from_org_id
 14     AND salesrep.salesrep_id(+) = header.salesrep_id
 15     AND salesrep.org_id(+) = header.org_id
 16     AND sales_loc.location_id(+) = salesrep.attribute1
 17     AND header.orig_sys_document_ref = 'OE_ORDER_HEADERS_ALL74846'
 18     AND header.order_source_id = 0;

N
-


2 rows selected.
</code></pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://eboge.javaeye.com/blog/212674#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 08 Jul 2008 11:37:56 +0800</pubDate>
        <link>http://eboge.javaeye.com/blog/212674</link>
        <guid>http://eboge.javaeye.com/blog/212674</guid>
      </item>
          <item>
        <title>存储过程经验积累2：各种变量定义</title>
        <author>eboge</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eboge.javaeye.com">eboge</a>&nbsp;
                    链接：<a href="http://eboge.javaeye.com/blog/210736" style="color:red;">http://eboge.javaeye.com/blog/210736</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.常用类型：<br />number&nbsp; 数字型（包括小数）&nbsp;&nbsp;&nbsp; char(n)&nbsp; varchar2(n)&nbsp; 字符型<br />boolean 布尔型<br />2.定义与表相关：<br />tableA.columnA%type;&nbsp;&nbsp;&nbsp; 字段类型相同<br />tableA%rowtype;<br /><br />3.包头部分定义：<br />定义集合<br />TYPE dt_deduct_fund is RECORD(<br />&nbsp;&nbsp;&nbsp; invest_id t_contract_invest.invest_id%TYPE,<br />&nbsp;&nbsp;&nbsp; fund_type t_contract_invest.fund_type%type,<br />&nbsp;&nbsp;&nbsp; fund_code t_fund.fund_code%TYPE,<br />&nbsp;&nbsp;&nbsp; money_id t_money.money_id%TYPE);<br /><br />定义多条集合<br />TYPE dt_deduct_fund_list is TABLE OF dt_deduct_fund INDEX BY BINARY_INTEGER;
          <br/><br/>
          <span style="color:red;">
            <a href="http://eboge.javaeye.com/blog/210736#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Jul 2008 18:29:26 +0800</pubDate>
        <link>http://eboge.javaeye.com/blog/210736</link>
        <guid>http://eboge.javaeye.com/blog/210736</guid>
      </item>
          <item>
        <title>存储过程经验积累1:建包，建存储过程</title>
        <author>eboge</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eboge.javaeye.com">eboge</a>&nbsp;
                    链接：<a href="http://eboge.javaeye.com/blog/210209" style="color:red;">http://eboge.javaeye.com/blog/210209</a>&nbsp;
          发表时间: 2008年07月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          create or replace package PKG_LIFE_VUL_TRANSACTION_PLUS is<br /><br />&nbsp; -- Author&nbsp; : <br />&nbsp; -- Created : <br />&nbsp; -- Purpose : <br /><br />&nbsp; --DISTRI_TYPE 基金费用类型<br />&nbsp; DISTRI_TYPE__FUND_BUY_CHARGE CONSTANT VARCHAR2(3) := '34'; <br />&nbsp; <br />&nbsp; PROCEDURE p_collect_d34(i_trans_id IN t_contract_invest_trans.trans_id%TYPE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_bat_change_id IN t_policy_change.change_id%TYPE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_batch_date IN DATE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_emp_id t_employee.emp_id%TYPE);<br /><br />&nbsp;&nbsp;&nbsp; <br />end PKG_LIFE_VUL_TRANSACTION_PLUS;<br />/<br />create or replace package body PKG_LIFE_VUL_TRANSACTION_PLUS is<br />&nbsp; <br />&nbsp; PROCEDURE p_collect_d34(i_trans_id IN t_contract_invest_trans.trans_id%TYPE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_bat_change_id IN t_policy_change.change_id%TYPE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_batch_date IN DATE,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i_emp_id t_employee.emp_id%TYPE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) as<br />&nbsp; <br />&nbsp;&nbsp;&nbsp; m_sum_amount number; <br />&nbsp; <br />&nbsp; begin<br />&nbsp;&nbsp;&nbsp; null<br />&nbsp; end p_collect_d34;<br />end PKG_LIFE_VUL_TRANSACTION_PLUS;<br />/
          <br/><br/>
          <span style="color:red;">
            <a href="http://eboge.javaeye.com/blog/210209#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 01 Jul 2008 16:50:01 +0800</pubDate>
        <link>http://eboge.javaeye.com/blog/210209</link>
        <guid>http://eboge.javaeye.com/blog/210209</guid>
      </item>
          <item>
        <title>早上面试，遭受打击，心情郁闷</title>
        <author>eboge</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://eboge.javaeye.com">eboge</a>&nbsp;
                    链接：<a href="http://eboge.javaeye.com/blog/81793" style="color:red;">http://eboge.javaeye.com/blog/81793</a>&nbsp;
          发表时间: 2007年05月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <img src="/images/smiles/icon_sad.gif"/><br />&nbsp;&nbsp;&nbsp; 今天早上起来后， 准备好一切，高高兴兴的去某家业界比较牛B的企业面试。今天天气不好，天阴沉沉的，估计要下雨。由于路程比较近，我就没有带伞，结果半路下起了雨，就连我的内裤都弄湿了（绝对不夸张）。到了公司的时候晚了10分钟，我有点不好意思，但还是硬着头皮去了前台。<br />&nbsp;&nbsp;&nbsp;&nbsp; 前台给了我张表和试题（笔试好像都是这样），让我一个小时做完。我看了下时间10：15了。然后我就先填了表，又看了看时间，10：30了，时间好像有点紧了，接着我就马上开始了做题。<br />&nbsp;&nbsp;&nbsp;&nbsp; 拿到题目一看，总共7题，都是大题。第一题是英文翻译，10来行左右，晕了，不管，加紧做。快要翻译完成了，已经11点了。看来平时看看英文文档还行， 专门翻译的话就不行了。这个时候前台突然出现在我面前，问我我做完了没有， 我说没有， 刚做到第一题， 她就说换个地方让我做， 会议室要用。在出去的路上，遇到了一个某女性主管，问了一下情况，就对我语重心长的说：“我们这里的笔试很重要，你还是回去吧！”<br />&nbsp;&nbsp;&nbsp; 我落魄的走在路上，心里就和喜剧之王上的主角被换角后的心情类似。回来后就上来JAVAEYE发了这一篇帖子， 来博取一下大家的同情！<img src="/images/smiles/icon_cry.gif"/>
          <br/><br/>
          <span style="color:red;">
            <a href="http://eboge.javaeye.com/blog/81793#comments" style="color:red;">已有 <strong>15</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/138' target='_blank'><span style="color:red;font-weight:bold;">加入阿里巴巴，发展潜力无限</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 May 2007 11:56:55 +0800</pubDate>
        <link>http://eboge.javaeye.com/blog/81793</link>
        <guid>http://eboge.javaeye.com/blog/81793</guid>
      </item>
      </channel>
</rss>