频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Sql*plus技巧之SPOOL应用

来源: 作者: 出处:巧巧读书 2006-11-17 进入讨论组
下一页 1 2 3 4 
    Sql*plus中蕴藏着好多技巧,如果掌握这些技巧,对于在oracle数据库下进行快速开发与有效维护数据库都是有益的。下面就介绍一二:

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

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

  例1:

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

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

Sql*plus技巧之SPOOL应用SPOOL c:drop_table.sql Sql*plus技巧之SPOOL应用SELECT ''''DROP TABLE ''''|| table_name ||'''';'''' FROM user_tables; Sql*plus技巧之SPOOL应用SPOOL OFF

  b. 以SCOTT用户登录数据库

Sql*plus技巧之SPOOL应用SQLPLUS > @ …..gen_dorp_table.sql

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

Sql*plus技巧之SPOOL应用SQL> SELECT ''''DROP TABLE ''''|| table_name ||'''';'''' FROM user_tables; Sql*plus技巧之SPOOL应用 Sql*plus技巧之SPOOL应用''''DROPTABLE''''||TABLE_NAME||'''';'''' Sql*plus技巧之SPOOL应用-------------------------------------------------------------------------------- Sql*plus技巧之SPOOL应用DROP TABLE DEPT; Sql*plus技巧之SPOOL应用DROP TABLE EMP; Sql*plus技巧之SPOOL应用DROP TABLE PARENT; Sql*plus技巧之SPOOL应用DROP TABLE STAT_VENDER_TEMP; Sql*plus技巧之SPOOL应用DROP TABLE TABLE_FORUM; Sql*plus技巧之SPOOL应用 Sql*plus技巧之SPOOL应用5 rows selected. Sql*plus技巧之SPOOL应用 Sql*plus技巧之SPOOL应用SQL> SPOOL OFF

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

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

Sql*plus技巧之SPOOL应用SQLPLUS > @ c:dorp_table.sql

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

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

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

  b. 以SCOTT用户登录数据库

Sql*plus技巧之SPOOL应用SQLPLUS > @ …..gen_dorp_table.sql
文字:http://www.qqread.com/oracle/2006/11/f278530.html 更多文章 更多内容请看Office技巧专区网管实用技巧100例ADO.NET实用技巧专题,或进入讨论组讨论。
下一页 1 2 3 4 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章