| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
1.使用SQL*PLUS动态生成批量脚本
将spool与select命令结合起来使用,可以生成一个脚本,脚本中包含有可以批量执行某一任务的语句。 网管下载dl.bitscn.com
例1:
生成一个脚本,删除SCOTT用户下的所有的表: 网管u家u.bitsCN.com
a. 创建gen_drop_table.sql文件,包含如下语句: 网管bitscn_com
网管u家u.bitsCN.comSPOOL c:drop_table.sql
SELECT ''''DROP TABLE ''''|| table_name ||'''';'''' FROM user_tables;
SPOOL OFF
b. 以SCOTT用户登录数据库 网管联盟bitsCN@com
网管联盟bitsCN_comSQLPLUS > @ …..gen_dorp_table.sql
c. 在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:
网管u家u.bitscn@com
网管u家u.bitsCN.comSQL> 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 …..语句 中国网管联盟bitsCN.com
e. 在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。 网管联盟bitsCN_com
SQLPLUS > @ c:dorp_table.sql
网管u家u.bitsCN.com
在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的sql语句,标题,或返回的行数,需要我们编辑该脚本后再运行,给实际的操作带来诸多不便。懒惰是人的本性,这促使我们用更简单的办法来实现上面的任务。 网管u家u.bitsCN.com
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
网管下载dl.bitscn.com
b. 以SCOTT用户登录数据库
网管下载dl.bitscn.com
中国网管联盟bitsCN.comSQLPLUS > @ …..gen_dorp_table.sql
|
0
|
评论加载中…