科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道指定缺省的编辑脚本的目录(2)

指定缺省的编辑脚本的目录(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

将spool与select命令结合起来使用,可以生成一个脚本,脚本中包含有可以批量执行某一任务的语句。

作者:云卷云舒 来源:赛迪网IT博客 2007年8月29日

关键字: 目录 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件

在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的SQL语句,标题,或返回的行数,需要我们编辑该脚本后再运行,给实际的操作带来诸多不便。懒惰是人的本性,这促使我们用更简单的办法来实现上面的任务。

a. 创建gen_drop_table.sql文件,包含如下语句:

set echo off
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set pagesize 0
set term off
set trims on
set linesize 600
set heading off 
set timing off
set verify off
set numwidth 38
SPOOL c:\drop_table.sql 
SELECT 'DROP TABLE '|| table_name ||';' FROM user_tables; 
SPOOL OFF

b. 以SCOTT用户登录数据库:SQLPLUS > @ …..\gen_dorp_table.sql。

c. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:

DROP TABLE DEPT;                           
DROP TABLE EMP;                           
DROP TABLE PARENT;                         
DROP TABLE STAT_VENDER_TEMP;               
DROP TABLE TABLE_FORUM;

d. 在scott用户下运行dorp_t:

able.sql文件,删除scott用户下所有的表。SQLPLUS > @ c:\dorp_table.sql

2.将一个表中的数据导出生成一个文本文件,列与列之间以”,”隔开:

set echo off
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set pagesize 0
set term off
set trims on
set linesize 600
set heading off 
set timing off
set verify off
set numwidth 38
SPOOL c:\drop_table.sql 
select DEPTNO || ',' || DNAME FROM DEPT;
SPOOL OFF

将上面的内容保存为一个文本文件后,以scott登录,执行该文件后显示结果:

10,ACCOUNTING 
20,RESEARCH 
30,SALES 
40,OPERATIONS

通过上面的两个例子,我们可以将:

set echo off
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set pagesize 0
set term off
set trims on
set linesize 600
set heading off 
set timing off
set verify off
set numwidth 38
SPOOL c:\具体的文件名

你要运行的SQL语句SPOOL OFF。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章