科技行者

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

知识库

知识库 安全导航

至顶网软件频道SQLPlus技巧 指定缺省的编辑脚本的目录

SQLPlus技巧 指定缺省的编辑脚本的目录

  • 扫一扫
    分享文章到微信

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

本文从多个方面讲述了SQLPlus技巧。

作者:赛迪网 云卷云舒 来源:天新网 2008年4月25日

关键字: Mssql SQL Server SQL 数据库

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

 本文从多个方面讲述了SQLPlus技巧。

1.使用SQL*PLUS动态生成批量脚本

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

例1:生成一个脚本,删除SCOTT用户下的所有的表:

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

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文件,包含删除所有表的语句,如下所示:

SQL>SELECT "DROP TABLE "|| table_name ||";" FROM user_tables;         
                                                      
"DROPTABLE"||TABLE_NAME||";"                   
----------------------------- 
DROP TABLE DEPT;                           
DROP TABLE EMP;                           
DROP TABLE PARENT;                         
DROP TABLE STAT_VENDER_TEMP;               
DROP TABLE TABLE_FORUM;                                                    
5 rows selected:SQL> SPOOL OFF。

d. 对生成的drop_table.sql文件进行编辑去掉不必要的部分,只留下drop table …语句

e. 在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。SQLPLUS > @ c:dorp_table.sql。

在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的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

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

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

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