邳州信息网
美食
当前位置:首页 > 美食

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

发布时间:2019-09-13 20:07:59 编辑:笔名

本文从多个方面讲述了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 offset feedback offset newpage noneset pagesize 5000set linesize 500set verify offset pagesize 0set term offset trims onset linesize 600set heading off set timing offset verify offset numwidth 38SPOOL 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

冠心病怎么治
小孩厌食是什么原因
小孩食烧怎么退烧最快
晚间心绞痛怎么办