分手快乐 发表于 2015-1-16 22:39:11

MYSQL网站制作之SQLPlus命令利用指南(三)

下面我将描述五个不使用MySQL的响亮理由。
SQLPlus命令利用指南(三)

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

翁彦

工夫:2004-3-9

接待转载,请保存作者信息

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

(3)Break命令

使用Break你能够打印出报表必要的一些内容,如小计,反复的列值不显现,大概每一个分组拔出一个空行等等。

扫除break设置,clearbreaks。

语法:

BREAK

-----



Specifieswhereandhowtomakeformatchangestoareport.



BRE]]...



wherereport_elementhasthefollowingsyntax:

{column|expression|ROW|REPORT}



andwhereactionhasthefollowingsyntax:

n|]PAGE]|DUP]

申明以下:

sql>breakondeptno

失掉的了局如





经由过程对某个列设置break命令,我们往失落了反复显现deptno的值。请细心对照一下没有break的情形。这类用法称为breakcolumn的用法。BREAK命令中的列应当要呈现在SQL语句的orderby中,假如orderby中有多个列,也有多个列的break用法。如。

Break参数的申明

¨Skip,在每一个分组值呈现前,主动拔出n个空行

¨Skippage,在每一个分组值呈现前,主动换页

¨BREAKONROWSKIP,每行前面拔出n个空行。

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

BREAK比如界说了一个事务,当值产生了变更后,能够对查询的了局实行一个特定的操纵。BREAK和COMPUTE命令一同用,就能够发生小计等报表效果。







(4)COMPUTE命令

在了局的最初显现一行统计行。假如有多个COMPUTE,那末只要最初一个COMPUTE才起感化。Clearcomputes删除一切设定的compute。

语法:

COMPUTE

-------



Calculatesandprintssummarylines,usingvariousstandard

computations,onsubsetsofselectedrows.Italsolistsall

COMPUTEdefinitions.



COMPtext]...

OF{expr|column|alias}...

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



COMPUTE和BREAK一同利用的。没有BREAK语句的COMPUTE没有任何效果。一样平常的用法以下:

BREAKONbreak_column

COMPUTEfunctionLABELlabel_nameOFcolumncolumncolumn

...ONbreak_column

COMPUTE实行的盘算操纵次要有:


SUM

Computesthesumofthevaluesinthecolumn.

MINIMUM

Computestheminimumvalueinthecolumn.

MAXIMUM

Computesthemaximumvalueinthecolumn.

AVG

Computestheaverageofthevaluesinthecolumn.

STD

Computesthestandarddeviationofthevaluesinthecolumn.

VARIANCE

Computesthevarianceofthevaluesinthecolumn.

COUNT

Computesthenumberofnon-nullvaluesinthecolumn.

NUMBER

Computesthenumberofrowsinthecolumn.


上面是一个COMPUTE盘算的例子。如





COMPUTE参数的申明

¨LABEL为盘算指定一个称号。如COMPUTESUMLABEL‘TOTAL’OFSALONJOB,那末在小计这一行,会显现TOTAL,而不是缺省的sum

不必要打印任何标签,就利用DUMMY。如,dummy的利用在sql*plus报表制造上仍是很有效的。





未完待续。。。。。
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。

蒙在股里 发表于 2015-1-19 20:34:04

可以动态传入参数,省却了动态SQL的拼写。

变相怪杰 发表于 2015-1-24 23:15:12

另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);

再见西城 发表于 2015-2-2 13:43:54

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

只想知道 发表于 2015-2-7 21:43:13

光写几个SQL实在叫无知。

莫相离 发表于 2015-2-23 12:10:28

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

因胸联盟 发表于 2015-3-7 08:50:42

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

透明 发表于 2015-3-21 12:01:07

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!
页: [1]
查看完整版本: MYSQL网站制作之SQLPlus命令利用指南(三)