当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]

赞助商链接



  本文“<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
要输出符合要求格局的数据文件只需在select时用字符衔接来标准格局.比方有以下表

SQL>; select id,username,password from myuser;//测试
1 John       1234
2 Jack       12345
3 Rose       2345
4 Joe        384657
5 Tom        384655
6 Jordan     384455

    要输出符合1,John,1234,这样的数据格局就用select id||','||username||','||password||',' from myuser这样的语句.

SQL>; select id||','||username||','||password||',' from myuser;
1,John,1234,
2,Jack,12345,

    写个下面这样的脚本就行可以输出符合要求格局的数据至文件中,不会含有别的不需求东西,只有数据部份.

    --脚本文件名为expmyusr.sql,存数据的文件名为e:\exp.txt

set echo on            --能否显示履行的号令内容  
set feedback off       --能否显示 *   rows   selected 
set heading off        --能否显示字段的名称
set verify off         --能否显示替换变量被替换前后的语句.fil
set trimspool off      --去字段空格
set pagesize 1000      --页面大小
set linesize 50//linesize设定尽大概按照需求来设定,大了生成的文件也大
define fil= 'e:\exp.txt'
prompt *** Spooling to &fil
spool &fil
select id||','||username||','||'"'||password||'"' from myuser;
spool off;

--履行历程
SQL>; @e:\expmyusr.sql
*** Spooling to e:\exp.txt
1,John,"1234"
2,Jack,"12345"
3,Rose,"2345"
4,Joe,"384657"
5,Tom,"384655"
6,Jordan,"384455"

    查抄可知后果符合要求.

    Oracle SPOOL的两种办法之比较 

    普通情形下,我们利用SPOOL办法,将数据库中的表导出为文本文件的时刻会采取两种办法,以下述:

    办法一:采取以下格局脚本 

set colsep '' ------设置列脱离符
set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 途径+文件名
select * from tablename;
spool off

    办法二:采取以下脚本

set trimspool on
set linesize 120
set pagesize 2000
set newpage 1
set heading off
set term off
spool 途径+文件名
select col1||','||col2||','||col3||','||col4||'..' from tablename;
spool off

    对比以上办法,即办法一采取设定脱离符然后由sqlplus自己利用设定的脱离符对字段举行分割,办法二将脱离符拼接在SELECT语句中,即手工掌握输分外式.

    在实践中,我发现通过办法一导出来的数据具有很大的不肯定性,这种办法导出来的数据再由sql ldr导入的时刻出错的大概性在95%以上,特别对大批量的数据表,如100万条记录的表更是如此,并且导出的数据文件狂大.

    而办法二导出的数据文件格局很规整,数据文件的大小大概是办法一的1/4左右.经这种办法导出来的数据文件再由sqlldr导入时,出错的大概性很小,基本都可以导入成功.

    因此,实践中我倡议大家利用办法二手工去掌握spool文件的格局,这样可以减小出错的大概性,避免走很多弯路.   以上是“<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .