Sqlplus命令:spool 使用详解
命令 详解 sqlplus 使用
2023-09-27 14:28:18 时间
本文整理自网络:
SPOOL是 SQLPLUS的命令,必须在SQLPLUS中使用,主要完成以标准输出方式输出SQLPLUS的命令及执行结果,一般常用户格式化导出ORACLE表数据。
2、执行以下脚本: set echo on;
set feedback on;
set trimspool off;
set linesize 120;
set pagesize 2000;
set newpage 1;
set heading on;
set term off;
set termout on;
set timing off; spool c:\synonym.sql SELECT create or replace synonym ||t.synonym_name|| for ||t.synonym_name||@to_206; FROM user_synonyms t spool off;
今天看关于Oracle 10g的书,翻到SPOOL命令,就在SQL*Plus里面试了一下,命令的使用很简单,但是发现书里面的一个描述问题,让我在理解上走了一些弯路。 书中有一行说“如果不再需要将命令运行情况及其结果发送到一个文件中保存起来,可以使用SPOOL OFF命令”,我的理解是“如果正在SPOOL的情况下,用了SPOOL OFF,SPOOL会停止,数据不会被保存到文件”,但是实际测试出来的结果,对于正在SPOOL的情况下,用SPOOL OUT还是SPOOL OFF,此次SPOOL的数据都会被保存到文件,并且假脱机状态都会被停止,那么OFF/OUT究竟有什么不同呢? 查了指导文档里面关于SLOOP的说明: file_name[.ext] Represents the name of the file to which you wish to spool. SPOOL followed by file_name begins spooling displayed output to the named file. If you do not specify an extension, SPOOL uses a default extension (LST or LIS on most systems). OFF Stops spooling. OUT Stops spooling and sends the file to your host computers standard (default) printer. 看到这个,大家应该就明白了,SPOOL OUT比SPOOL OFF多了一个把文件发送到标准打印输出的动作。记得ItPub论坛上有位大虾总结得更简练“OUT = OFF + PRINT”。 Enter SPOOL with no clauses to list the current spooling status.这句也是指导文档里面的话,和本文题目没有什么关系,觉得有用,也列出来了。 最后要说一下,像这样的教材上的描述,容易造成大家的错误理解。学习过程中,走弯路是花时间是正常的,但是错误理解却没有意识到就不好了,所以特别的写出来,希望能对遇到这个问题的朋友们有所帮助。From:http://hi.baidu.com/bjyss/blog/item/db7645f48f01732dbd31090d.html
[20180109]sqlplus refcursor.txt [20180109]sqlplus refcursor.txt --//别人问的问题,如何在sqlplus使用refcursor定义的变量,我查询一下,做一个记录: SCOTT@book @ r/ver1 PORT_STRING VERSI...
SQL*Loader 是一个命令行下的操作工具,对应的操作系统命令是SQLLDR 语法:SQLLDR keyword=value [,keyword=value,...] userid -- ORACLE 用户名/口令 control -- 控制文件名 log ...
[20160113]sqlplus使用问题.txt [20160113]sqlplus使用问题.txt --在linux中使用sqlplus我自己经常遇到奇怪的问题,打入的命令无法执行,自己老是不知道什么回事,今天发现其中一个原因.
本文整理自网络:
SPOOL是 SQLPLUS的命令,必须在SQLPLUS中使用,主要完成以标准输出方式输出SQLPLUS的命令及执行结果,一般常用户格式化导出ORACLE表数据。
对于 SPOOL数据的 SQL,最好要自己定义格式,以方便程序直接导入 ,SQL语句如:
SELECT create or replace synonym ||t.synonym_name|| for ||t.synonym_name||@to_206 FROM user_synonyms t; spool常用的设置 set colsep ; //域输出分隔符 set echo off; //显示 start启动的脚本中的每个 sql命令,缺省为 on set feedback off; //回显本次 sql命令处理的记录条数,缺省为 on set heading off; //输出域标题,缺省为 on set linesize 80; //输出一行字符个数,缺省为80 set pagesize 0; //输出每页行数,缺省为 24,为了避免分页,可设定为 0。 set termout off; //显示脚本中的命令的执行结果,缺省为 on set trimout on; //去除标准输出每行的拖尾空格,缺省为 off set trimspool on; //去除重定向( spool)输出每行的拖尾空格,缺省为 off set timing off; //显示每条sql命令的耗时,缺省为off set verify off; //是否显示替代变量被替代前后的语句。fil 例如: 1、首先登录sqlplus,如:sqlplus - s username / password @sid2、执行以下脚本: set echo on;
set feedback on;
set trimspool off;
set linesize 120;
set pagesize 2000;
set newpage 1;
set heading on;
set term off;
set termout on;
set timing off; spool c:\synonym.sql SELECT create or replace synonym ||t.synonym_name|| for ||t.synonym_name||@to_206; FROM user_synonyms t spool off;
今天看关于Oracle 10g的书,翻到SPOOL命令,就在SQL*Plus里面试了一下,命令的使用很简单,但是发现书里面的一个描述问题,让我在理解上走了一些弯路。 书中有一行说“如果不再需要将命令运行情况及其结果发送到一个文件中保存起来,可以使用SPOOL OFF命令”,我的理解是“如果正在SPOOL的情况下,用了SPOOL OFF,SPOOL会停止,数据不会被保存到文件”,但是实际测试出来的结果,对于正在SPOOL的情况下,用SPOOL OUT还是SPOOL OFF,此次SPOOL的数据都会被保存到文件,并且假脱机状态都会被停止,那么OFF/OUT究竟有什么不同呢? 查了指导文档里面关于SLOOP的说明: file_name[.ext] Represents the name of the file to which you wish to spool. SPOOL followed by file_name begins spooling displayed output to the named file. If you do not specify an extension, SPOOL uses a default extension (LST or LIS on most systems). OFF Stops spooling. OUT Stops spooling and sends the file to your host computers standard (default) printer. 看到这个,大家应该就明白了,SPOOL OUT比SPOOL OFF多了一个把文件发送到标准打印输出的动作。记得ItPub论坛上有位大虾总结得更简练“OUT = OFF + PRINT”。 Enter SPOOL with no clauses to list the current spooling status.这句也是指导文档里面的话,和本文题目没有什么关系,觉得有用,也列出来了。 最后要说一下,像这样的教材上的描述,容易造成大家的错误理解。学习过程中,走弯路是花时间是正常的,但是错误理解却没有意识到就不好了,所以特别的写出来,希望能对遇到这个问题的朋友们有所帮助。From:http://hi.baidu.com/bjyss/blog/item/db7645f48f01732dbd31090d.html
[20180109]sqlplus refcursor.txt [20180109]sqlplus refcursor.txt --//别人问的问题,如何在sqlplus使用refcursor定义的变量,我查询一下,做一个记录: SCOTT@book @ r/ver1 PORT_STRING VERSI...
SQL*Loader 是一个命令行下的操作工具,对应的操作系统命令是SQLLDR 语法:SQLLDR keyword=value [,keyword=value,...] userid -- ORACLE 用户名/口令 control -- 控制文件名 log ...
[20160113]sqlplus使用问题.txt [20160113]sqlplus使用问题.txt --在linux中使用sqlplus我自己经常遇到奇怪的问题,打入的命令无法执行,自己老是不知道什么回事,今天发现其中一个原因.
相关文章
- Linux权限详解 命令之 chmod:修改权限
- Linux上12个高效的文本过滤命令
- 转载:Linux批量远程管理主机命令_pssh用法详解
- [ARM-Linux开发]linux dmesg命令参数及用法详解(linux显示开机信息命令)
- linux下使用tar命令
- inux awk命令详解 awk文本分析工具
- FINDSTR 命令使用详解
- FINDSTR 命令使用详解
- linux sed命令详解 *****
- redis-trib.rb命令详解
- 4.Hadoop集群的安全模式介绍与配置与命令
- Linux:PS命令详解与使用
- Jedis客户端操作redis缓存命令详解
- linux sort 命令详解
- Linux中如何让命令在后台运行
- Linux查看和结束进程命令详解
- Linux rsync命令详解
- Cypress系列(70)- server() 命令详解
- centos自带python2.6无法使用pip命令
- IOS设计模式之四(备忘录模式,命令模式)
- 工作总结之linux防火墙配置命令适用centos7、centos8
- tail 命令详解
- linux下vim命令详解
- Linux-mkdosfs格式化磁盘命令(15)
- Linux系统下安装rz/sz命令及使用说明
- jmap命令详解----查看JVM内存使用详情
- 【JVM】jstat命令详解---JVM的统计监测工具