易截截图软件、单文件、免安装、纯绿色、仅160KB

用oracle utl_file包读取数据写入文件

create or replace directory MY_DIR as '/usr/test/';
create or replace function f_exportTxt(
  --传入参数
  i_query in varchar2,
  i_separator in varchar2,
  i_dir in varchar2,
  i_filename in varchar2
) return number
is
  /**
  ** 函数名:f_exportTxt
  ** 参数:1.i_query 查询sql语句; 2.i_separator 分隔符,默认为',' ;
  **      3.i_dir存放目录; 4.i_filename文件名,默认在文件名前加上yyyymmddhh24mi
  ** 返回: 大于等于0即为写入文件记录数,负为异常
  ** 功能: 用户数据抽取,并生成文件到指定目录下
  ** 备注:
  ** 作者:lingo
  ** 修改日期:2010-04-15
  **/
  --定义参数
  v_file utl_file.file_type;
  v_theCursor integer default dbms_sql.open_cursor;
  v_columnValue varchar2(2000); --临时(列值)
  v_colCnt number default 0; --列总数
  v_separator varchar2(10) default ',';--分隔符,默认为#@
  v_cnt number default 0;  --记录总数
  v_filename varchar2(100);--时间
  v_status integer;--执行SQL后返回状态值
  v_count number default 10000 ; --每次查询的数量,大于该数量则多次读取数据到游标
  v_tmp number ;--临时(总记录数,通过SQL统计算出,假如v_cnt不等于v_tmp,则导出有误)
  v_sql varchar2(2000) ; --组合sql语句
  v_loops number ; --循环次数
begin
  --select to_char(sysdate,'yyyymmddhh24mi') into v_filename from dual; --取时间年月日时分做文件名前缀
  v_filename :='';
  v_filename := v_filename||i_filename ; --组建文件名
  v_sql := 'select count(''x'') from (' ||i_query||')' ;--统计总数
  execute immediate v_sql into v_tmp;
  select trunc(v_tmp/v_count) into v_loops from dual ; --循环次数
  if mod(v_tmp,v_count) > 0 then
    v_loops := v_loops+1;
  end if;
  v_file := utl_file.fopen(i_dir,v_filename,'W'); --打开文件
  for i in 1 .. v_loops loop
      v_sql := 'select * from ( select m.*,rownum r fr


相关文档:

Oracle的优化器有两种优化方式(一)

Oracle的优化器有两种优化方式(整理), 2010-04-13
RBO方式:基于规则的优化方式(Rule-Based Optimization,简称为RBO)
  优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。
CBO方式:基于代价的优化方式(Cost-Based Optimization,简称为CBO ......

oracle imp时报IMP 00032,IMP 00008解决办法

oracle imp时报:
       IMP-00032: SQL statement exceeded buffer length
       IMP-00008: unrecognized statement in the export file
解决办法:
   将imp语句由
         imp username/userpass@or ......

Oracle 体系结构 ORA

Linux/Unix上,Oracle是多个进程实现的,每一个主要函数都是一个进程;在Windows上,则是一个单一进程,进程中包含多个线程。
Oracle把一系列物理文件,如数据文件(Data file)、控制文件(Control file)、联机日志(Redo log file)、参数文件(spfile or pfile)等物理结构及与之对应的逻辑结构,如表空间(Tablespace)、段(Seg ......

最近在做Oracle临时表加载 转载一个以便查询

转载
DML statements on temporary tables do not generate redo logs for the data changes. However, undo logs for the data 
and redo logs for the undo logs are generated. Data from the temporary table is automatically 
dropped in the case of session termination, either when the user logs o ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号