日期:2013-07-16  浏览次数:20456 次


SQLPlus命令使用指南(三)

/*------------------------------------------------------------------------

作者:翁彦 

时间:2004-3-9

欢迎转载,请保留作者信息

/*-----------------------------------------------------------------------------------------------------

(3)   Break命令

利用Break你可以打印出报表需求的一些内容,如小计,反复的列值不显示,或者每个分组插入一个空行等等。

清除break设置,clear breaks。

语法:

BREAK

 -----

 

 Specifies where and how to make format changes to a report.

 

 BRE[AK] [ON report_element [action [action]]] ...

 

 where report_element has the following syntax:

     {column | expression | ROW | REPORT}

 

 and where action has the following syntax:

[SKI[P] n | [SKI[P]] PAGE] [NODUP[LICATES] | DUP[LICATES]]

说明如下:

sql>break on deptno

得到的结果如图4



图4

通过对某个列设置break命令,我们去掉了反复显示deptno的值。请细心对比一下没有break的情况。这种用法称为break column的用法。BREAK命令中的列应该要出如今SQL语句的order by中,如果order by中有多个列,也有多个列的break用法。如图5。

Break参数的说明

¨         Skip[n],在每个分组值出现前,自动插入n个空行

¨         Skip page, 在每个分组值出现前,自动换页

¨         BREAK ON ROW SKIP[n],每一行后面插入n个空行。

¨         Nodup反复的显示空,dup反复的也显示。

BREAK好比定义了一个事件,当值发生了变化后,可以对查询的结果执行一个特定的操作。BREAK和COMPUTE命令一同用,就可以产生小计等报表效果。



图5

 

(4)  COMPUTE命令

在结果的最后显示一行统计行。如果有多个COMPUTE,那么只要最后一个COMPUTE才起作用。Clear computes删除所有设定的compute。

语法:

COMPUTE

 -------

 

 Calculates and prints summary lines, using various standard

 computations, on subsets of selected rows. It also lists all

 COMPUTE definitions.

 

 COMP[UTE] [function [LAB[EL] text] ...

   OF {expr|column|alias} ...

   ON {expr|column|alias|REPORT|ROW} ...]

 

COMPUTE和BREAK一同使用的。没有BREAK语句的COMPUTE没有任何效果。普通的用法如下:

BREAK ON break_column

COMPUTE function LABEL label_name OF column column column

... ON break_column

COMPUTE执行的计算操作次要有:


SUM

Computes the sum of the values in the column.

MINIMUM

Computes the minimum value in the column.

MAXIMUM

Computes the maximum value in the column.

AVG

Computes the average of the values in the column.

STD

Computes the standard deviation of the values in the column.

VARIANCE

Computes the variance of the values in the column.

COUNT

Computes the number of non-null values in the column.

NUMBER

Computes the number of rows in the column.


下面是一个COMPUTE计算的例子。如图6



图6

COMPUTE参数的说明

¨             LABEL为计算指定一个名称。如COMPUTE SUM LABEL ‘TOTAL’ OF SAL ON JOB,那么在小计这一行,会显示TOTAL,而不是缺省的sum

不需求打印任何标签,就使用DUMMY。如图7,dummy的使用在sql*plus报表制造上还是很有用的。



图7

未完待续。。。。。