`
woshixushigang
  • 浏览: 576063 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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语句。其中||为连接符号,三个单引号最后生成一个单引号。
分享到:
评论
2 楼 woshixushigang 2011-08-23  
傲,不好意思,这个没写完,当时进行政法司项目时候需要删除一些数据,但是必须以sql形式备份下来,所以当时就想到了用spool了。基本就是这些够用了。谢谢你的回复,我一直没看到,不好意思啊。
1 楼 linchixiong 2011-06-26  
请问这个没有下文了吗?

相关推荐

    windows和unix下通过spool导出oracle数据(导成insert语句)

    本文将详细讲解如何在Windows和Unix环境下利用SQL*Plus的`spool`命令来导出Oracle数据库中的数据,并将其转换为INSERT语句或纯文本格式。 `spool`是SQL*Plus的一个内置命令,它允许用户将SQL*Plus会话的输出重定向...

    Oracle spool 元数据(过程、函数、包、类型)导出

    Oracle Spool元数据导出是数据库管理中一个关键的操作,主要用于备份或迁移Oracle数据库中的过程、函数、包和类型等对象。这些对象是PL/SQL编程的基础,它们定义了数据库中自定义的操作逻辑和数据处理规则。下面我们...

    Oracle导出成csv格式后显示乱码的解决方法

    - 如果使用SQL*Plus,可以使用`SPOOL`命令导出数据,并通过`SET HEAD OFF`和`SET ECHO OFF`等选项来控制输出格式。 总之,解决Oracle导出CSV文件显示乱码的关键在于理解字符编码和数据解析的过程。通过正确设置...

    oracle sqlplus 中spool 的使用

    ### Oracle SQLPlus中Spool命令的使用详解...通过上述示例可以看出,SQLPlus中的Spool命令能够极大地提高数据库管理工作效率,尤其是在批量导出DDL语句等场景下。掌握这些高级用法对于Oracle数据库管理员来说非常重要。

    spool oracle数据导出

    下面我们将深入探讨Spool在Oracle中的使用,包括其基本概念、如何通过SQL*Plus使用Spool,以及结合Java代码进行数据导出的方法。 一、Spool的基本概念 Spool是操作系统中的一个术语,指的是将数据暂时存储在磁盘上...

    oracle导出txt文件方法

    Oracle 导出 txt 文件方法是指使用 spool 命令将 Oracle 数据库中的数据导出到 txt 文件中。这种方法可以自定义导出格式,以便于程序直接导入。 首先,我们需要了解 Oracle 文本导出的原理。Oracle 文本导出的原理...

    oracle导出数据生成excel

    其中,`username`和`password`是你的Oracle数据库连接凭据,`export.sql`是包含SQL查询和SPool命令的文件。 3. **转换CSV为Excel** - CSV文件可以直接用Excel打开,只需双击文件或在Excel中选择“文件”->“打开...

    从 Oracle数据库中导出SQL脚本.doc

    从 Oracle 数据库中导出 SQL 脚本 Oracle 数据库是一个功能强大...从 Oracle 数据库中导出 SQL 脚本可以使用 `dbms_metadata.get_ddl` 函数来获取指定对象的 DDL 定义,然后使用 `spool` 命令将输出结果写入到文件中。

    oracle数据库对象导出脚本

    描述部分简要介绍了该文档的内容:提供了一系列具体的SQL语句来帮助用户导出Oracle数据库中的对象定义。这使得用户能够轻松地备份或迁移数据库中的特定对象,而不必手动编写复杂的查询。 #### 标签:Oracle对象 这...

    oracle导出sql语句的结果集和保存执行的sql语句(深入分析)

    总结,Oracle数据库提供了`spool`和`savelist`(或`sav`)命令,帮助我们方便地导出SQL查询结果和保存执行的SQL语句。`spool`用于将输出重定向到文件,`savelist`则用于记录执行的SQL命令。通过熟练掌握这两个命令,...

    Oracle_spool_用法详解

    `Spool` 是 Oracle SQL*Plus 工具中的一个重要命令,用于将查询结果或 SQL 脚本执行过程中产生的输出重定向到一个外部文件中。这对于批量处理数据、备份查询结果或者创建报告等场景非常有用。 #### 二、Spool 常用...

    oracle spool

    在实际生产环境中,Spool命令通常会集成到Shell脚本中,以实现自动化的数据导出。以下是一个简单的Shell脚本示例,用于执行上述查询并将结果输出到文件中: ```sh #!/bin/sh DB_USER=zxdbm_ismp # DB USER DB_PWD=...

    oracle 导出xls文件数据的脚本

    - SELECT语句:使用SELECT语句从要导出的Oracle表中选择数据,然后通过INTO OUTFILE子句将结果写入到XLS文件。 - 使用`spool`命令:`SPOOL`命令在SQL*Plus中用于将输出重定向到一个文件,而不是屏幕。在导出开始前...

    Oracle SQLPLUS命令的使用大全.doc

    `SPOOL`命令可以将SQL*Plus的所有输出重定向到指定的文件中,包括SQL语句和其结果。例如,`SQL> SPOOL filename`会将后续的输出保存到`filename`中,直到使用`SPOOL OFF`命令关闭输出。 5. **关闭SPPOOL输出** ...

    oracle数据库导入导出DMP文件操作

    - `exp`:导出命令。 - `abm/abm@abmbj`:指定导出的用户及数据库实例。 - `owner=abm`:指明导出的对象属于哪个用户。 - `file=abm20060325.dmp`:指定导出后的文件名。 - `log=expAbm20060325.log`:指定导出...

    Oracle数据库命令 个人总结

    11. 将SQL*PLUS的输出结果保存到指定的文件中:使用SPOOL 文件路径\12.txt命令可以将SQL*PLUS的输出结果保存到指定的文件中。 12. 使用临时变量:使用ACCEPT命令可以定义临时变量,例如,ACCEPT ADMINNAME NUMBER ...

    spool导出与sqlldr导入

    在Oracle数据库管理中,"spool"和"sqlldr"是两种非常实用的工具,用于数据的导出和导入操作。下面将详细解释这两个概念及其使用方法。 **1. Spool导出** Spool是Oracle SQL*Plus中的一个功能,它允许用户将SQL*...

    测试中可以一用的命令spool

    "spool"命令是Oracle数据库管理中一个非常实用的工具,它主要用于控制输出和打印过程。在这个场景中,"测试中可以一用的命令spool"可能指的是在测试环境中利用spool命令来收集和记录数据,便于分析和调试。 首先,...

    Oracle数据库导出文本的方法

    Oracle 数据库导出文本的方法可以使用 Spool 缓冲池技术实现,该方法可以将数据库中的内容导出到文本文件中,以便于后续处理或分析。在实际应用中,我们需要根据实际情况选择合适的导出方法,以实现数据的高效传输和...

Global site tag (gtag.js) - Google Analytics