ITPub博客

首页 > 数据库 > Oracle > oracle之spool

oracle之spool

原创 Oracle 作者:wangzh3 时间:2006-04-21 11:17:37 0 删除 编辑

今天donna过来问我如何保存select的结果。

我告诉她用spool。

[@more@]

spool的限制是结果集的大小,这个和sqlplus的缓冲区大小有关系。通常比较少的数据,比如在10万行以内,通常都可以使用这个命令的。

sqlplus>set head off --这个是每若干行结果之前没有字段名

set pagesize 0 ---表示不分页

set linesize 400 ----可能每行数据比较多,设置大一点,表示不换行

set feed off ----表示在输出结束后,没有那个summary,就是多少行

set trimspool on ---表示每段结果集之间没有空行

spool filename ----指示要spool到的文件名(可以带路径)

select 语句

spool off ---表示关闭spool,关闭文件

至于set这一块,要看sqlplus手册里面的,很多项,不过在spool经常用的就上面那几项了。

后来告诉我她要生成的是sql语句,就是说是不仅把数据选出来,还要生成sql语句,将来要插入到某个表中。

其实这个有两种解决办法:

1、insert into 一张新表把select的数据插入,再spool新表就可以了

2、可以在select语句中做文章,比如

select 'insert into table_name(column_lists) values '||......

这样子再spool出来,就是可以直接执行的sql语句了。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/47869/viewspace-829068/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 全智贤的MM?
下一篇: 扯皮操蛋后续
请登录后发表评论 登录
全部评论
  • 博文量
    301
  • 访问量
    10831724