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公式列放在占位列的后面。实践上这里是将占位列作为变量来利用,便利了编程和保护。
提供用于管理、检查、优化数据库操作的管理工具。 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。 光写几个SQL实在叫无知。 如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
页:
[1]