谁可相欹 发表于 2015-1-16 22:38:37

MSSQL网页编程之Report Builder中占位列的利用

每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。
ReportBuilder中的列范例包含公式列、汇总列、占位列等。一样平常公式列、汇总列用的对照多,这里不再胪陈。上面次要讲占位列的一种利用办法。

日前做的使用中,必要20个公式列来取值,而每一个公式列都利用一样from、where子句的sql语句,独一区分在于所取的字段分歧。如许必要20次的读取数据库操纵,速率对照慢。一入手下手思索再利用一个query来做,可是又没有明白的毗连干系,没法到达目标。

最初决意研讨一下占位列,详细的历程不再赘述,先容一下完成办法。

1、起首创建一个公式列,19个占位列,分离取名为CF_1,CP_2,CP_3……,CP_20。

2、在公式列的PL/SQL中一次将一切值掏出:



SELECTCOL1,COL2,COL3……COL20

INTOV_COL1,:CP_2,:CP_3……:CP_20

FROMTABLE1

WHERET_DATE=SYSDATEANDT_DEPT=:P_1;

RETURNV_COL1;



而占位列中不写任何的PL/SQL。

3、在编纂报表页面时,将这些占位列作为域的数据源。

长处:只必要一次数据库读取操纵,速率较快。而且因为次要的逻辑均放在CF_1谁人公式列中,便利保护。

必要注重的是列的按次,最好将CF_1公式列放在占位列的后面。实践上这里是将占位列作为变量来利用,便利了编程和保护。
提供用于管理、检查、优化数据库操作的管理工具。

灵魂腐蚀 发表于 2015-1-19 20:08:48

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

深爱那片海 发表于 2015-1-25 21:57:43

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

精灵巫婆 发表于 2015-2-4 06:05:27

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

透明 发表于 2015-2-9 16:58:56

光写几个SQL实在叫无知。

金色的骷髅 发表于 2015-2-27 12:07:33

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

小女巫 发表于 2015-3-9 03:32:55

财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..

爱飞 发表于 2015-3-16 20:17:01

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了

因胸联盟 发表于 2015-3-23 00:53:38

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
页: [1]
查看完整版本: MSSQL网页编程之Report Builder中占位列的利用