﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-LEJA.SANO</title><link>http://www.blogjava.net/sano/</link><description>犹豫、纠结、沮丧…… 皆因智慧不足。
积累，才有智慧。</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:01:04 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:01:04 GMT</pubDate><ttl>60</ttl><item><title>为什么返回结果记录数目是随机的？sql  随机函数</title><link>http://www.blogjava.net/sano/archive/2010/03/23/316304.html</link><dc:creator>leja</dc:creator><author>leja</author><pubDate>Tue, 23 Mar 2010 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/sano/archive/2010/03/23/316304.html</guid><wfw:comment>http://www.blogjava.net/sano/comments/316304.html</wfw:comment><comments>http://www.blogjava.net/sano/archive/2010/03/23/316304.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sano/comments/commentRss/316304.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sano/services/trackbacks/316304.html</trackback:ping><description><![CDATA[<p style="line-height: normal; text-align: left" align="left">问题产生的来源：<a title="ORACLE 批量插入数据 随机取值问题 " href="http://www.blogjava.net/sano/archive/2010/03/23/316277.html">ORACLE 批量插入数据 随机取值问题 </a><span style="font-size: 10pt; background: white; color: navy; font-family: 'MS Reference Sans Serif'"><span style="font-size: 10pt; background: white; color: navy; font-family: 'MS Reference Sans Serif'"></p>
<p style="line-height: normal; text-align: left" align="left"></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_151123" onclick="this.style.display='none'; Code_Closed_Text_151123.style.display='none'; Code_Open_Image_151123.style.display='inline'; Code_Open_Text_151123.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_151123" style="display: none" onclick="this.style.display='none'; Code_Open_Text_151123.style.display='none'; Code_Closed_Image_151123.style.display='inline'; Code_Closed_Text_151123.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_151123" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">SQL_0</span><span id="Code_Open_Text_151123" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">SELECT</span><span style="color: #000000">&nbsp;d.</span><span style="color: #808080">*</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">FROM</span><span style="color: #000000">&nbsp;temp_cj&nbsp;d&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;d.idd</span><span style="color: #808080">=</span><span style="color: #000000">trunc(dbms_random.value(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">));</span></span></div>
<p style="line-height: normal; text-align: left" align="left"></p>
<p style="line-height: normal; text-align: left" align="left">temp_</span>cj</span><strong><span style="font-size: 10pt; color: navy; font-family: 'MS Reference Sans Serif'">:</span></strong></p>
<table cellpadding="0" border="1">
    <tbody>
        <tr>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: center" align="center"><strong><span style="font-family: 宋体">IDD</span></strong></p>
            </td>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: center" align="center"><strong><span style="font-family: 宋体">DS</span></strong></p>
            </td>
        </tr>
        <tr>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体">1</span></p>
            </td>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体"><span style="font-size: 10.5pt; font-family: 宋体">东风</span></span></p>
            </td>
        </tr>
        <tr>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体">2</span></p>
            </td>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体">大众</span></p>
            </td>
        </tr>
        <tr>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体">3</span></p>
            </td>
            <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt">
            <p style="line-height: normal; text-align: left" align="left"><span style="font-family: 宋体">一汽</span></p>
            </td>
        </tr>
    </tbody>
</table>
<span style="font-family: 黑体">产生随机条记录的原因是：在查询时取得第一条的IDD，然后生成一个随机数，判断是否相等，如果相等存入结果集，然后去第二条记录的IDD，重新产生一随机数，然后进行判断，如此依次执行下去。（不知道本次理解是否有问题，）<span style="font-family: 黑体">优化SQL,把随机数设定&#8220;固定&#8221;：<br />
</span></span>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_150506" onclick="this.style.display='none'; Code_Closed_Text_150506.style.display='none'; Code_Open_Image_150506.style.display='inline'; Code_Open_Text_150506.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_150506" style="display: none" onclick="this.style.display='none'; Code_Open_Text_150506.style.display='none'; Code_Closed_Image_150506.style.display='inline'; Code_Closed_Text_150506.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_150506" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">YH_SQL1</span><span id="Code_Open_Text_150506" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;d.ds,random<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;temp_cj&nbsp;d,<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(dbms_random.value(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">))&nbsp;random&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual)&nbsp;random<br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;d.idd&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;random.random<br />
</span><span style="color: #008080">5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></span></div>
执行发现可以，但是如果查询结果仅仅是ds，还是会产生返回多个记录的结果集。<br />
再次调整SQL:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Code_Closed_Image_150731" onclick="this.style.display='none'; Code_Closed_Text_150731.style.display='none'; Code_Open_Image_150731.style.display='inline'; Code_Open_Text_150731.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" width="11" align="top" /><img id="Code_Open_Image_150731" style="display: none" onclick="this.style.display='none'; Code_Open_Text_150731.style.display='none'; Code_Closed_Image_150731.style.display='inline'; Code_Closed_Text_150731.style.display='inline';" height="16" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" width="11" align="top" /><span id="Code_Closed_Text_150731" style="border-right: #808080 1px solid; border-top: #808080 1px solid; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">YH_SQL2</span><span id="Code_Open_Text_150731" style="display: none"><br />
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;ds<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;temp_cj&nbsp;d<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;</span><span style="color: #0000ff">where</span><span style="color: #000000">&nbsp;d.idd&nbsp;</span><span style="color: #808080">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">select</span><span style="color: #000000">&nbsp;trunc(dbms_random.value(</span><span style="font-weight: bold; color: #800000">1</span><span style="color: #000000">,&nbsp;</span><span style="font-weight: bold; color: #800000">4</span><span style="color: #000000">))&nbsp;random&nbsp;</span><span style="color: #0000ff">from</span><span style="color: #000000">&nbsp;dual)</span></span></div>
如此一来，返回的结果集就是一条随机记录了。<br />
但是，YH_SQL2中的条件判断的随机数是&#8220;固定&#8221;的吗？就是不论表temp_cj有多少条记录，一次查询中随机数是不变的。从测试结果上看是&#8220;固定&#8221;的。<br />
<span style="font-family: 楷体_GB2312"><strong style="font-size: 24pt"><br />
<br />
问：YH_SQL2中的随机数为什么是"固定"的，而SQL_0的随机数不是呢？</strong></span><br />
<img src ="http://www.blogjava.net/sano/aggbug/316304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sano/" target="_blank">leja</a> 2010-03-23 15:13 <a href="http://www.blogjava.net/sano/archive/2010/03/23/316304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE 批量插入数据 随机取值问题</title><link>http://www.blogjava.net/sano/archive/2010/03/23/316277.html</link><dc:creator>leja</dc:creator><author>leja</author><pubDate>Tue, 23 Mar 2010 05:42:00 GMT</pubDate><guid>http://www.blogjava.net/sano/archive/2010/03/23/316277.html</guid><wfw:comment>http://www.blogjava.net/sano/comments/316277.html</wfw:comment><comments>http://www.blogjava.net/sano/archive/2010/03/23/316277.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sano/comments/commentRss/316277.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sano/services/trackbacks/316277.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: ORACLE  批量插入数据 有些属性必须从一固定范围内随机取值 random(string[])&nbsp;&nbsp;<a href='http://www.blogjava.net/sano/archive/2010/03/23/316277.html'>阅读全文</a><img src ="http://www.blogjava.net/sano/aggbug/316277.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sano/" target="_blank">leja</a> 2010-03-23 13:42 <a href="http://www.blogjava.net/sano/archive/2010/03/23/316277.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ORACLE 10G DUMP </title><link>http://www.blogjava.net/sano/archive/2009/08/13/291072.html</link><dc:creator>leja</dc:creator><author>leja</author><pubDate>Thu, 13 Aug 2009 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/sano/archive/2009/08/13/291072.html</guid><wfw:comment>http://www.blogjava.net/sano/comments/291072.html</wfw:comment><comments>http://www.blogjava.net/sano/archive/2009/08/13/291072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sano/comments/commentRss/291072.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sano/services/trackbacks/291072.html</trackback:ping><description><![CDATA[今天学习用10G的数据泵来备份数据，依照同事给的文档新建directory，然后授权。<br />
<br />
SQL&gt; create directory "dir" as 'D:\study\oracle';<br />
&nbsp;<br />
Directory created<br />
&nbsp;<br />
SQL&gt; grant read,write on directory "dir" to "SCOTT";<br />
&nbsp;<br />
Grant succeeded<br />
&nbsp;<br />
SQL&gt;<br />
<br />
<br />
可是在导出时还是报错，<br />
<br />
<br />
<p>C:\Documents and Settings\Administrator&gt;expdp scott/tiger directory=dir dumpfile=expdp.dmp schemas=scott parallel=2</p>
<p>Export: Release 10.2.0.1.0 - Production on 星期四, 13 8月, 2009 19:54:29</p>
<p>Copyright (c) 2003, 2005, Oracle.&nbsp; All rights reserved.</p>
<p>连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production<br />
With the Partitioning, OLAP and Data Mining options<br />
ORA-39002: 操作无效<br />
ORA-39070: 无法打开日志文件。<br />
ORA-39087: 目录名 DIR 无效<br />
<br />
查询select * from dba_directories 发现也有自己所要的数据</p>
1&nbsp;SYS&nbsp;dir&nbsp;D:\study\oracle<br />
2&nbsp;SYS&nbsp;DUMP_DIR&nbsp;D:\study\oracle<br />
3&nbsp;SYS&nbsp;SUBDIR&nbsp;D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\/2002/Sep<br />
4&nbsp;SYS&nbsp;XMLDIR&nbsp;D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\<br />
5&nbsp;SYS&nbsp;MEDIA_DIR&nbsp;D:\oracle\product\10.2.0\db_1\demo\schema\product_media\<br />
6&nbsp;SYS&nbsp;LOG_FILE_DIR&nbsp;D:\oracle\product\10.2.0\db_1\demo\schema\log\<br />
7&nbsp;SYS&nbsp;WORK_DIR&nbsp;C:\ADE\aime_10.2_nt_push\oracle/work<br />
8&nbsp;SYS&nbsp;DATA_FILE_DIR&nbsp;D:\oracle\product\10.2.0\db_1\demo\schema\sales_history\<br />
9&nbsp;SYS&nbsp;DATA_PUMP_DIR&nbsp;D:\oracle\product\10.2.0\admin\orcl\dpdump\<br />
10&nbsp;SYS&nbsp;ADMIN_DIR&nbsp;C:\ADE\aime_10.2_nt_push\oracle/md/admin<br />
<br />
<br />
最后看文档发现新建directory是出现问题 <br />
对directory的变量加了&#8220;&#8221;&nbsp; 导致报错ORA-39087
 <img src ="http://www.blogjava.net/sano/aggbug/291072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sano/" target="_blank">leja</a> 2009-08-13 20:33 <a href="http://www.blogjava.net/sano/archive/2009/08/13/291072.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LDAP: error code 50 - Insufficient Access Rights</title><link>http://www.blogjava.net/sano/archive/2009/07/18/287234.html</link><dc:creator>leja</dc:creator><author>leja</author><pubDate>Sat, 18 Jul 2009 03:08:00 GMT</pubDate><guid>http://www.blogjava.net/sano/archive/2009/07/18/287234.html</guid><wfw:comment>http://www.blogjava.net/sano/comments/287234.html</wfw:comment><comments>http://www.blogjava.net/sano/archive/2009/07/18/287234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sano/comments/commentRss/287234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sano/services/trackbacks/287234.html</trackback:ping><description><![CDATA[LDAP 50号错误其原因有许多，上周我遇到此问题，在网上没有查找到合适的案例。<br />
我在查看组织部门时调用&nbsp;javax.naming.directory.InitialDirContext.search()方法时出错，<br />
javax.naming.NoPermissionException: [LDAP: error code 50 - Insufficient Access Rights]; remaining name 'ou=06,o-=ou'<br />
<br />
<br />
仅仅看异常所显示的就是我所用的用户没有读权限。但此用户可以查找用户是正常的，<br />
<br />
最终分析发现<strong>LDAP服务器关闭了分页功能，但我查看组织部门对查看结果做了分页</strong>，由此引起LDAP50号错误。
 <img src ="http://www.blogjava.net/sano/aggbug/287234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sano/" target="_blank">leja</a> 2009-07-18 11:08 <a href="http://www.blogjava.net/sano/archive/2009/07/18/287234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个没有解决的问题,查询问题</title><link>http://www.blogjava.net/sano/archive/2007/09/24/147712.html</link><dc:creator>leja</dc:creator><author>leja</author><pubDate>Mon, 24 Sep 2007 02:27:00 GMT</pubDate><guid>http://www.blogjava.net/sano/archive/2007/09/24/147712.html</guid><wfw:comment>http://www.blogjava.net/sano/comments/147712.html</wfw:comment><comments>http://www.blogjava.net/sano/archive/2007/09/24/147712.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sano/comments/commentRss/147712.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sano/services/trackbacks/147712.html</trackback:ping><description><![CDATA[table1{<br />
&nbsp;&nbsp;&nbsp;&nbsp;Stirng id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Set table2s; //table2对象的集合<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
}<br />
<br />
table2{<br />
&nbsp;&nbsp;&nbsp;&nbsp;String id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
}<br />
<br />
现在根据一table2对象查找出相关联的table1所有对象.<br />
<br />
写出hql或者sql<br />
<br />
初始,我没有找到很好的方法,就在table2中加入一talbe1的主键.<br />
修改后的table2<br />
table2{<br />
&nbsp;&nbsp;&nbsp;&nbsp;String id;<br />
&nbsp;&nbsp;&nbsp;&nbsp;String t1Id;//外键<br />
&nbsp;&nbsp;&nbsp;&nbsp;...<br />
}<br />
<br />
如果不对表２加个外键的话，怎样通过表1查表2 ???
<img src ="http://www.blogjava.net/sano/aggbug/147712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sano/" target="_blank">leja</a> 2007-09-24 10:27 <a href="http://www.blogjava.net/sano/archive/2007/09/24/147712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>