<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]
本文“<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
要输出符合要求格局的数据文件只需在select时用字符衔接来标准格局.比方有以下表
SQL>; select id,username,password from myuser;//测试表 |
要输出符合1,John,1234,这样的数据格局就用select id||','||username||','||password||',' from myuser这样的语句.
SQL>; select id||','||username||','||password||',' from myuser; |
写个下面这样的脚本就行可以输出符合要求格局的数据至文件中,不会含有别的不需求东西,只有数据部份.
--脚本文件名为expmyusr.sql,存数据的文件名为e:\exp.txt
set echo on --能否显示履行的号令内容 |
查抄可知后果符合要求.
Oracle SPOOL的两种办法之比较
普通情形下,我们利用SPOOL办法,将数据库中的表导出为文本文件的时刻会采取两种办法,以下述:
办法一:采取以下格局脚本
set colsep '' ------设置列脱离符 |
办法二:采取以下脚本
set trimspool on |
对比以上办法,即办法一采取设定脱离符然后由sqlplus自己利用设定的脱离符对字段举行分割,办法二将脱离符拼接在SELECT语句中,即手工掌握输分外式.
在实践中,我发现通过办法一导出来的数据具有很大的不肯定性,这种办法导出来的数据再由sql ldr导入的时刻出错的大概性在95%以上,特别对大批量的数据表,如100万条记录的表更是如此,并且导出的数据文件狂大.
而办法二导出的数据文件格局很规整,数据文件的大小大概是办法一的1/4左右.经这种办法导出来的数据文件再由sqlldr导入时,出错的大概性很小,基本都可以导入成功.
因此,实践中我倡议大家利用办法二手工去掌握spool文件的格局,这样可以减小出错的大概性,避免走很多弯路.
以上是“<b>Oracle中spool号令实现的两种办法对比-入门底子</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |