oracle spool命令导出slq语句

我在项目中遇到导数据的工作蛮多的,有时候需要把数据备份成sql形式,spool这个命令很好,介绍如下: 

spool c:\table.sql; 
select 'insert into changetable values('|| id||',',changedate||',',areaid||',',w
orkunit||',',dept||',',post||',',address||',',zip||',',note||',',city||',',provi
nce||',',country||',',status||',',lawpeopleid||',',reason||',',feedback||');' fr
om change where lawpeopleid not in (select id from LAWPEOPLE t );
spool off; 
 从这个方案中引申学到两条:spool命令和使用select语句批量拼装sql语句

   1. spool命令

1 Oracle的spool命令可以用来将数据export出来到文本文件。Oracle的Import/Export命令用于备份和恢复比较有效,但对于一些临时数据量的导出,Export不好用,甚至不可用。在这里,就是spool的发挥之地了。

2Spool一般使用格式为spool [filepath]filename;       其他sql语句;spool off;

要输出的内容都在spool语句中包含;

3 spool还有些其他控制命令:

set pagesize 0               --设置页面大小, 0表示无限制,如果设置为10,则10行数据后出现一空行
set num 18                  --设置数字的长度,如果不够大,则用科学记数法显示
set heading off             --设置不要题头,则不出现select的field list
set feedback off           --设置不需要返回信息, 比如" 100 rows selected“
set term off                 --
set trimspool on           --trim

4 如果在sqlplus中直接使用sql语句,则导出的数据文件中会包含spool语句中使用的sql语句,如果不想让生成这些可把要使用的sql语句存在一个文件中再在sqlplus中执行此文件即可。 

 5、使用select语句批量拼装sql语句

仿照select 'insert into table_name values('''||field_1||''','''||field_2||''');'from table_name where field_n=some_conditon;可联想批量生成其他sql语句,例如drop、update、delete语句。其中||为连接符号,三个单引号最后生成一个单引号。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值