当前位置:   article > 正文

How to export data to text_export citation to text

export citation to text

经常有需求,需要导出数据到文本文件,使用spool要刷屏,比较慢,那么使用utl_file是个不错的选择,可以通过如下脚本:

  1. CREATE OR REPLACE PROCEDURE expdata(filename varchar2,lsql varchar2)
  2. AS
  3. vFileName VARCHAR2(256);
  4. vFileHandle UTL_FILE.FILE_TYPE;
  5. vNum NUMBER(20);
  6. BeginTime DATE;
  7. EndTime DATE;
  8. CostTime VARCHAR2(14);
  9. DbResult VARCHAR2(4000);
  10. vsql VARCHAR2(4000);
  11. type rc is ref cursor;
  12. SELECTCURSOR rc;
  13. BEGIN
  14. vsql :=lsql;
  15. vFileName := filename ;
  16. vFileHandle := UTL_FILE.fopen('DATA_PUMP_DIR', vFileName, 'w',32767);
  17. SELECT SYSDATE INTO BeginTime FROM DUAL ;
  18. DBMS_OUTPUT.PUT_LINE('Begin Time:'||TO_CHAR(BeginTime,'YYYY-MM-DD HH24:MI:SS'));
  19. vNum:=0;
  20. OPEN SELECTCURSOR for vsql;
  21. LOOP
  22. FETCH SELECTCURSOR INTO DbResult;
  23. EXIT WHEN SELECTCURSOR%NOTFOUND;
  24. vNum := vNum + 1;
  25. dbms_output.put_line(DbResult);
  26. UTL_FILE.put_line(vFileHandle, DbResult);
  27. END LOOP;
  28. CLOSE SELECTCURSOR;
  29. IF vNum =0 THEN
  30. UTL_FILE.fclose(vFileHandle);
  31. UTL_FILE.fremove('DATA_PUMP_DIR', vFileName);
  32. DBMS_OUTPUT.PUT_LINE('No Data Found');
  33. ROLLBACK;
  34. RETURN;
  35. END IF;
  36. UTL_FILE.fflush(vFileHandle);
  37. UTL_FILE.fclose(vFileHandle);
  38. SELECT SYSDATE INTO EndTime FROM DUAL ;
  39. DBMS_OUTPUT.PUT_LINE('End Time:'||TO_CHAR(EndTime,'YYYY-MM-DD HH24:MI:SS'));
  40. DBMS_OUTPUT.PUT_LINE('Elapes:'||trunc(EndTime-BeginTime)*24*60||'Min');
  41. DBMS_OUTPUT.PUT_LINE('Summary Rows='||vNum||'rows');
  42. COMMIT;
  43. EXCEPTION
  44. WHEN NO_DATA_FOUND THEN
  45. DBMS_OUTPUT.PUT_LINE('Not Find Data');
  46. ROLLBACK;
  47. -- WHEN OTHERS THEN
  48. -- ROLLBACK;
  49. END;
  50. /
调用的时候直接输入参数:文件名和相应的sql查询:
exec expdata('leo','select owner||'',''||object_id||'',''||object_name||'',''||object_type from lichao');
如果出来的数据使用sqlldr再导入到其它库非常方便。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/828624
推荐阅读
相关标签
  

闽ICP备14008679号