免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1755 | 回复: 6
打印 上一主题 下一主题

【求助】:利用SQL SCRIPT 生成SQL SCRIPT的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-02 14:09 |只看该作者 |倒序浏览
我写了下面的sql script ,希望生成一个countall.sql(这个脚本用来查询所有用户表信息)。
        结果发现生成的countall.sql中多了第一行和最后一行内容(SQL>开头的语句)。
       
        在countall.sql中多的两行为:
        SQL> select 'select count(*) from ' || table_name || ';' from user_tables;
        SQL> spool off

       
        请教:
                a.为什么会多出这么2行(头、尾两行)?
                b.如何去掉这头尾两行?
       
        --sql代码--
        SQL> rem ***
        SQL> rem *** countmytables.sql
        SQL> rem ***
        SQL> set heading off
        SQL> set pagesize 0
        SQL> set feedback off
        SQL> set echo off
        SQL> set linesize 80
        SQL> spool countall.sql
        SQL> select 'select count(*) from ' || table_name || ';' from user_tables;
        select count(*) from BONUS;
        select count(*) from DEPT;
        select count(*) from EMP;
        select count(*) from SALGRADE;
        SQL> spool off
        SQL>
       
       
        --生成countall.sql--
        SQL> select 'select count(*) from ' || table_name || ';' from user_tables;
        select count(*) from BONUS;                                                     
        select count(*) from DEPT;                                                      
        select count(*) from EMP;                                                      
        select count(*) from SALGRADE;                                                  
        SQL> spool off

论坛徽章:
0
2 [报告]
发表于 2006-03-02 15:04 |只看该作者
set head off

论坛徽章:
0
3 [报告]
发表于 2006-03-02 16:07 |只看该作者
spool 1.sql
...
spool off

@1
不知LZ,有没有看明白,试一下

论坛徽章:
0
4 [报告]
发表于 2006-03-02 17:34 |只看该作者
grep -v "SQL>" countall.sql > countall_new.sql

论坛徽章:
0
5 [报告]
发表于 2006-06-08 13:56 |只看该作者

回复 1楼 deche-stone 的帖子

其实我上面的都试过了,还是不行!老大还有其他办法吗?
我的环境是WIN XP +ora9i
所以4楼的办法用不上。
不知还有什么办法来去除"SQL>"开始的那两行?

论坛徽章:
0
6 [报告]
发表于 2006-06-08 13:59 |只看该作者

回复 5楼 deche-stone 的帖子

接上:
我主要目的是在输出的文件“countall.sql”中不含“SQL>”开头的那两行。

论坛徽章:
0
7 [报告]
发表于 2006-06-08 16:23 |只看该作者
LZ没看明白我的意思呀
make.sql
  1. spool coutall.sql
  2. select 'select count(*) from ' || table_name || ';' from user_tables;
  3. spool off
复制代码

SQL>@make
SQL>@countall

这样明白了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP