spool命令

最近工作中,需对数据进行比对。在此之前,则需将数据导出。想到以前用过的spool命令,实验一番,分享如下:

需建SQL执行脚本,内容如下:

set feedback off   --关掉行数显示
set heading off     --关掉标题行
set termout off    --关掉终端显示
set echo off         --关掉回显
set pagesize 0     --去掉头顶的空行
set trims on        --去掉空字符
spool /home/oracle/test.txt
select * from dept;
spool off

执行该脚本,最后/home/oracle/test.txt显示的内容即为表dept的数据:

50 IT CHINA
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 IT CHICAGO
40 OPERATIONS BOSTON

没有开头的SQL> select * from dept;和结尾的SQL> spool off

结合官档,总结一下SQL*Plus关于格式输出的命令:

SET ECHO {ON | OFF}                       Controls whether the START command lists each command in a script as the command is executed.

SET FEED[BACK] {6 | n | ON | OFF}    Displays the number of records returned by a query when a query selects at least n records.

SET HEA[DING] {ON | OFF}                Controls printing of column headings in reports.

SET LIN[ESIZE] {80 | n}                    Sets the total number of characters that SQL*Plus displays on one line before beginning a new line.

SET LONG {80 | n}                            Sets maximum width (in bytes) for displaying LONG, BLOB, BFILE, CLOB, NCLOB and XMLType values; and for                                                      copying LONG values.

SET PAGES[IZE] {14 | n}                   Sets the number of lines in each page.

SET TERM[OUT] {ON | OFF}               Controls the display of output generated by commands executed from a script.

SET TI[ME] {ON | OFF}                      Controls the display of the current time.

SET TIMI[NG] {ON | OFF}                   Controls the display of timing statistics.

SET TRIMS[POOL] {ON | OFF}             Determines whether SQL*Plus puts trailing blanks at the end of each spooled line.

SET TRIM[OUT] {ON | OFF}                Determines whether SQL*Plus puts trailing blanks at the end of each displayed line.

SET VER[IFY] {ON | OFF}                   Controls whether SQL*Plus lists the text of a SQL statement or PL/SQL command before and after SQL*Plus

replaces substitution variables with values.

SET WRA[P] {ON | OFF}                     Controls whether SQL*Plus truncates the display of a SELECTed row if it is too long for the current line width

PS:关于SET ECHO语句,从定义上看有点费解,下面我们来看一下实验结果:

一、 SET ECHO OFF

1> 编辑SQL脚本t1.sql如下:

set echo off

select * from dept;

2> 执行该脚本

SQL> @t1.sql

    DEPTNO DNAME      LOC
---------- -------------- -------------
    50 IT          CHINA
    10 ACCOUNTING      NEW YORK
    20 RESEARCH      DALLAS
    30 IT          CHICAGO
    40 OPERATIONS      BOSTON

二、 SET ECHO ON

1> 编辑SQL脚本t1.sql如下:

set echo on

select * from dept;

2> 执行该脚本

SQL> @t1.sql
SQL> select * from dept;

    DEPTNO DNAME      LOC
---------- -------------- -------------
    50 IT          CHINA
    10 ACCOUNTING      NEW YORK
    20 RESEARCH      DALLAS
    30 IT          CHICAGO
    40 OPERATIONS      BOSTON

spool命令

时间: 2024-08-23 05:22:39

spool命令的相关文章

spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

  1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建表的权限,(2):有表空间 SQL> desc t4; 名称                                      是否为空? 类型 ----------------------------------------- -------- ------------------------

oracle的Spool命令

使用spool命令实行将sql*plus中的输出的结果复制到一个指定的文件中,或者把查询的结果 发送到打印机中,直接使用spool off命令为止. spool命令的语法如下: spool [file_name [create|replace|append] off|out] 其中file_name指定一个操作系统文件 create将创建一个指定的file_name文件 replace如果指定的文件已经存在,则替换该文件 append将内容附加到一个已经存在的文件中 off停止将sql*plus

使用spool命令从Oracle导出数据

公司的网站用的是Oracle数据库,最近要导出里面的数据,使用mysql数据库 spool D:\DB\{文件名}.sql set heading off; set echo off; set feedback off; set pages 0; set termout off; set pagesize 0; select CONCAT(CONCAT('insert into ARTICLEATT values(', {列名1}),','||{列名2}||','||{列名3}||');') f

sqlplus 中spool命令的简单用法

spool基本格式: spool 路径+文件名 select col1||','||col2||','||col3||','||col4||'..' from tablename; spool off spool常用的设置: set colsep' '; //域输出分隔符 set echo off; //显示start启动的脚本中的每个sql命令,缺省为on set feedback off; //回显本次sql命令处理的记录条数,缺省为on set heading off; //输出域标题,缺

【数据库】Oracle 11g使用命令导入导出表,导出结果集

[数据库]Oracle 11g使用命令导入导出表,导出结果集 很久没敲命令进行Oracle数据库表的导入(imp),导出(exp)了,今天猛一敲,发现有些命令居然忘了,顺手写下这篇博文,记录一下! exp本地导出命令: 1 exp username/[email protected] file=d:\demo.dmpfull=y 2 exp username/[email protected] file=d:\demo.dmpowner=(xx) 3 exp username/[email pr

set echo on/off,set term on/off,set feedback off,set heading off命令(转)

1.term命令:  当和SPOOL命令联合使用时,可以取消SQLPLUS输出,查询结果仅仅存在于假脱机文件中  set term on:查询结果既显示于假脱机文件中,又在SQLPLUS中显示:  set term off:查询结果仅仅显示于假脱机文件中. 2.其他命令: SQL>set colsep'|'; //-域输出分隔符 SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为on SQL> set echo on             //设

oracle之spool详细使用总结

今天实际项目中用到了spool,发现网上好多内容不是很全,自己摸索了好半天,现在总结一下. 一.通过spool 命令,可以将select 数据库的内容写到文件中,通过在sqlplus设置一些参数,使得按指定方式写到文件中 (1)常规使用spool方法,将set的一些命令和spool,select等放入.sql脚本中,然后再sqlplus中运行该脚本.以下为logmnr.sql脚本, 在sqlplus中执行@logmnr.sql就可以写入文件record3.txt中.不会再终端显示任何信息.但是,

3.SQL*Plus命令

3.1SQL*Plus与数据库的交互 主要用来数据库查询和数据处理的工具. 3.2SQL*Plus运行环境设置 3.2.1SET命令概述 用户可以使用SET命令设置SQL*Plus的运行环境,SET命令的语法格式: SET system_variable value System_variable:变量名 Value:变量值 SET常用变量名.可选值及其说明:见书P55~P56. 3.2.2使用SET命令设置运行环境 1)Pagesize变量:set pagesize value. 2)Newp

oracle之spool详细使用总结(转)

今天实际项目中用到了spool,发现网上好多内容不是很全,自己摸索了好半天,现在总结一下. 一.通过spool 命令,可以将select 数据库的内容写到文件中,通过在sqlplus设置一些参数,使得按指定方式写到文件中 (1)常规使用spool方法,将set的一些命令和spool,select等放入.sql脚本中,然后再sqlplus中运行该脚本.以下为logmnr.sql脚本, 在sqlplus中执行@logmnr.sql就可以写入文件record3.txt中.不会再终端显示任何信息.但是,