时候不输出列标头
SET HEADING ' ON | OFF '
SPOOL FILENAME/OFF
SPOOL 可以将你的查询结果直接地输入到一个文件中 要想打开 SPOOL 文件 你需
要输入
spool filename
如果想关掉 SPOOL 文件 你应该输入
spool off
355
…………………………………………………………Page 356……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
START FILENAME
大多数的我们所学习的 SQL 命令都是在 SQL》下运行的 另外的一种运行 SQL 语句的
方法是创建 SQL 执行文件 在 SQL*PLUS 中 运行 SQL 文件的命令是 START FILENAME
START FILENAME
ED FILENAME
ED 是 ORACLE 7 的用以打开文件 文件是已经存在的 的命令 当你使用 ED 打开
一个文件以后 你就进入了一个全屏幕的编辑环境 它的使用要比在 SQL 提示符下输入 SQL
语句更容易 你可以使用它来修改你的 SPOOL 文件 你将会发现当你在创建 SQL 脚本的
时候你会非常频繁地使用它 因为你出于定制的目的你不得不经常地修改脚本的内容 但
是 你的大多数定制工作是用 SQL*PLUS 来完成的
ED FILENAME
计算所有的表中的行数
在第一个例子中我们会向你演示如何去除你的 SPOOL 文件中的不正确的行 这样你
的 SQL 脚本在运行的时候就不会返回错误了
注 请注意在本例中我们所使用的编辑技术 因为我们在之后的例子中将不再进行这一步
工作的演示 我们假定到目前为止你已经掌握了基本的 SQL 语法 此外 你也可以使
用不同的编辑方法来编辑你的 SPOOL 文件
现在回想一下对一个表中的所有行进行计数的函数 COUNT * 你应该已经知道了如何
对一个表中的所有行进行计数 例如
INPUT
SELECT COUNT(*) FROM TBL1
OUTPUT
COUNT(*)
29
实现的方法很容易 可是如果你想对你的工程中所有属于你的表的行数进行计数时呢
例如 属于你的表如下表所列
356
…………………………………………………………Page 357……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
INPUT/OUTPUT
SELECT * FROM CAT;
TABLE_NAME TABLE_TYPE
ACCT_PAY TABLE
ACCT_REC TABLE
CUSTOMERS TABLE
EMPLOYEES TABLE
HISTORY TABLE
INVOICES TABLE
ORDERS TABLE
PRODUCTS TABLE
PROJECTS TABLE
VENDORS TABLE
10 rows selected。
分析
如果你想知道你的表有几行 你可能会对每一个表使用 COUNT * 函数 FEEDBACK
的结果如下
10 rows selected
下边的 SELECT 语句将会生成更多的 SELECT 语句来得到上表中的每一个表的行数
INPUT/OUTPUT
SQL》 SET ECHO OFF
SQL》 SET FEEDBACK OFF
SQL》 SET HEADING OFF
SQL》 SPOOL CNT。SQL
SQL》 SELECT "SELECT COUNT(*) FROM " || TABLE_NAME || ";"
2 FROM CAT
3 /
SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
SELECT COUNT(*) FROM EMPLOYEES;
SELECT COUNT(*) FROM HISTORY;
SELECT COUNT(*) FROM INVOICES;
357
…………………………………………………………Page 358……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
SELECT COUNT(*) FROM ORDERS;
SELECT COUNT(*) FROM PRODUCTS;
SELECT COUNT(*) FROM PROJECTS;
select count(*) FROM VENDORS;
分析
在上例中的第一个动作使用了 SQL*PLUS 中的命令 设置 echo off feedback off 和
heading off 是将实际的输出结果加以简化 然后使用 SPOOL 命令来把输出的结果重定位到
一个叫 CNT。SQL 的文件中 最后的工作是执行这个 SELECT 语句 它将会生成其它形式
的 SQL 语句 注意在需要生成的 SELECT 语句上要使用单引号 成对的单引号和联接符
可以让你把实际的数据和字符串结合在一起成为一个新的 SQL 语句 本例中从数据字典中
选择了数据 命令 SPOOL OFF 则关闭了输出文件
技巧 在你创建了文件并把你的文件提交运行之前一定把编辑它以使它的语法更加符合你
的要求
INPUT
SQL》 SPOOL OFF
SQL》 ED CNT。SQL
OUTPUT
SQL》 SELECT "SELECT COUNT(*) FROM "||TABLE_NAME||";" FROM CAT;
SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
SELECT COUNT(*) FROM EMPLOYEES;
SELECT COUNT(*) FROM HISTORY;
SELECT COUNT(*) FROM INVOICES;
SELECT COUNT(*) FROM ORDERS;
SELECT COUNT(*) FROM PRODUCTS;
SELECT COUNT(*) FROM PROJECTS;
SELECT COUNT(*) FROM VENDORS;
SQL》 SPOOL OFF
分析
358
…………………………………………………………Page 359……………………………………………………………
SQL 21 日自学通(V1。0) 翻译人 笨猪
SPOOL OFF 命令关闭了输出的文件 然后我们使用 ED 来编辑这个文件 这时你就会
进行你所创建的文件的内部了 你应该从这个文件中去掉不必要的行 例如已经知道了结
果的 SELECT 语句以及在文件末尾的 SPOOL OFF 命令
你的文件在编辑完之后应该如下所示 注意 其中的每一行都是一个完整的 SQL 语句
SELECT COUNT(*) FROM ACCT_PAY;
SELECT COUNT(*) FROM ACCT_REC;
SELECT COUNT(*) FROM CUSTOMERS;
小说推荐
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 最新章:第309章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- 电子电路大全(PDF格式)
- -Page 1-电力生产人员技能培训电路基础部分电路基础部分电电路路基基础础部部分分-Page 2-一、电路的基本概念和基本定律-Page 3-考试点1o 1、掌握电阻、独立电压源、独立电流源、11受控源、电容、电感、耦合电感、理想变压器诸元件的定义、性质2o 2、掌握电流、电压参考方向的概念223
- 最新章:第353章