Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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Êý¾Ý¿â½â³ýscottÓû§Ëø

1¡¢µÇ¼·½·¨:£ºsys or systemµÇ¼
Õ˺ţºsystem
ÃÜÂ룺system as sysdba---------¡·ÃÜÂë+as sysdba
      conn system/password as sysdba
ʹÓÃÃüÁ
sql>alter user scott account unlock;
sql> commit;
Í ......

Oracle·ÖÒ³ÌÖÂÛ

oracle·ÖÒ³£¿£¿£¿
ÔÚmysqlÖÐÖ»Òªlimit x,y¾Í¿ÉÒÔ·ÖÒ³³É¹¦£¬ÄÇoracle ÖÐÊÇÔõô×öµÄÄØ£¿
=================================================
·½·¨Ò»£º
SELECT   id,rown  
      from   (SELECT   id,   ROWNUM   rown  
          &nb ......

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Êý¾Ý¿âÖеÄËø»úÖÆÑо¿

Êý¾Ý¿âÊÇÒ»¸ö¶àÓû§Ê¹ÓõĹ²Ïí×ÊÔ´¡£µ±¶à¸öÓû§²¢·¢µØ´æÈ¡Êý¾Ýʱ£¬ÔÚÊý¾Ý¿âÖоͻá²úÉú¶à¸öÊÂÎñͬʱ´æÈ¡Í¬Ò»Êý¾ÝµÄÇé¿ö¡£Èô¶Ô²¢·¢²Ù×÷²»¼Ó¿ØÖƾͿÉÄÜ»á¶ÁÈ¡ºÍ´æ´¢²»ÕýÈ·µÄÊý¾Ý£¬ÆÆ»µÊý¾Ý¿âµÄÒ»ÖÂÐÔ¡£
¼ÓËøÊÇʵÏÖÊý¾Ý¿â²¢·¢¿ØÖƵÄÒ»¸ö·Ç³£ÖØÒªµÄ¼¼Êõ¡£µ±ÊÂÎñÔÚ¶Ôij¸öÊý¾Ý¶ÔÏó½øÐвÙ×÷ǰ£¬ÏÈÏòϵͳ·¢³öÇëÇó£¬¶ÔÆä¼ÓËø¡£¼ÓËøºó ......

oracle ´æ´¢¹ý³Ì

create or replace procedure check_records (ikbid in number,ikch in varchar2 ,ixh in varchar2,ixnd in varchar2,ikkxq in varchar2,info out varchar2,msg out varchar2)
as
v1 number;
v2 number;
v3 number;
begin
 select XZRS into v2 from KCB_JW where KCH=ikch;
 select count(*) into v3 fro ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ