问题产生的来源:ORACLE 批量插入数据 随机取值问题
SQL_0
SELECT d.* FROM temp_cj d where d.idd=trunc(dbms_random.value(1, 4));
temp_cj:
产生随机条记录的原因是:在查询时取得第一条的IDD,然后生成一个随机数,判断是否相等,如果相等存入结果集,然后去第二条记录的IDD,重新产生一随机数,然后进行判断,如此依次执行下去。(不知道本次理解是否有问题,)优化SQL,把随机数设定“固定”:
YH_SQL1
1select d.ds,random
2 from temp_cj d,
3 (select trunc(dbms_random.value(1, 4)) random from dual) random
4 where d.idd = random.random
5
执行发现可以,但是如果查询结果仅仅是ds,还是会产生返回多个记录的结果集。
再次调整SQL:
YH_SQL2
select ds
from temp_cj d
where d.idd = (select trunc(dbms_random.value(1, 4)) random from dual)
如此一来,返回的结果集就是一条随机记录了。
但是,YH_SQL2中的条件判断的随机数是“固定”的吗?就是不论表temp_cj有多少条记录,一次查询中随机数是不变的。从测试结果上看是“固定”的。
问:YH_SQL2中的随机数为什么是"固定"的,而SQL_0的随机数不是呢?
posted @
2010-03-23 15:13 leja 阅读(306) |
评论 (0) |
编辑 收藏
摘要: ORACLE 批量插入数据 有些属性必须从一固定范围内随机取值 random(string[])
阅读全文
posted @
2010-03-23 13:42 leja 阅读(1702) |
评论 (0) |
编辑 收藏
今天学习用10G的数据泵来备份数据,依照同事给的文档新建directory,然后授权。
SQL> create directory "dir" as 'D:\study\oracle';
Directory created
SQL> grant read,write on directory "dir" to "SCOTT";
Grant succeeded
SQL>
可是在导出时还是报错,
C:\Documents and Settings\Administrator>expdp scott/tiger directory=dir dumpfile=expdp.dmp schemas=scott parallel=2
Export: Release 10.2.0.1.0 - Production on 星期四, 13 8月, 2009 19:54:29
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-39087: 目录名 DIR 无效
查询select * from dba_directories 发现也有自己所要的数据
1 SYS dir D:\study\oracle
2 SYS DUMP_DIR D:\study\oracle
3 SYS SUBDIR D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\/2002/Sep
4 SYS XMLDIR D:\oracle\product\10.2.0\db_1\demo\schema\order_entry\
5 SYS MEDIA_DIR D:\oracle\product\10.2.0\db_1\demo\schema\product_media\
6 SYS LOG_FILE_DIR D:\oracle\product\10.2.0\db_1\demo\schema\log\
7 SYS WORK_DIR C:\ADE\aime_10.2_nt_push\oracle/work
8 SYS DATA_FILE_DIR D:\oracle\product\10.2.0\db_1\demo\schema\sales_history\
9 SYS DATA_PUMP_DIR D:\oracle\product\10.2.0\admin\orcl\dpdump\
10 SYS ADMIN_DIR C:\ADE\aime_10.2_nt_push\oracle/md/admin
最后看文档发现新建directory是出现问题
对directory的变量加了“” 导致报错ORA-39087
posted @
2009-08-13 20:33 leja 阅读(428) |
评论 (0) |
编辑 收藏
LDAP 50号错误其原因有许多,上周我遇到此问题,在网上没有查找到合适的案例。
我在查看组织部门时调用 javax.naming.directory.InitialDirContext.search()方法时出错,
javax.naming.NoPermissionException: [LDAP: error code 50 - Insufficient Access Rights]; remaining name 'ou=06,o-=ou'
仅仅看异常所显示的就是我所用的用户没有读权限。但此用户可以查找用户是正常的,
最终分析发现
LDAP服务器关闭了分页功能,但我查看组织部门对查看结果做了分页,由此引起LDAP50号错误。
posted @
2009-07-18 11:08 leja 阅读(1765) |
评论 (0) |
编辑 收藏
table1{
Stirng id;
Set table2s; //table2对象的集合
...
}
table2{
String id;
...
}
现在根据一table2对象查找出相关联的table1所有对象.
写出hql或者sql
初始,我没有找到很好的方法,就在table2中加入一talbe1的主键.
修改后的table2
table2{
String id;
String t1Id;//外键
...
}
如果不对表2加个外键的话,怎样通过表1查表2 ???
posted @
2007-09-24 10:27 leja 阅读(168) |
评论 (0) |
编辑 收藏