LEJA.SANO
犹豫、纠结、沮丧…… 皆因智慧不足。 积累,才有智慧。
posts - 5,comments - 0,trackbacks - 0

问题产生的来源:ORACLE 批量插入数据 随机取值问题

SQL_0

temp_cj:

IDD

DS

1

东风

2

大众

3

一汽

产生随机条记录的原因是:在查询时取得第一条的IDD,然后生成一个随机数,判断是否相等,如果相等存入结果集,然后去第二条记录的IDD,重新产生一随机数,然后进行判断,如此依次执行下去。(不知道本次理解是否有问题,)优化SQL,把随机数设定“固定”:
YH_SQL1
执行发现可以,但是如果查询结果仅仅是ds,还是会产生返回多个记录的结果集。
再次调整SQL:
YH_SQL2
如此一来,返回的结果集就是一条随机记录了。
但是,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)编辑 收藏