2014-05-31 Created By BaoXinjian

1. Repot 对象


(1).数据模型对象

查询、组、列、链接、用户参数

(2).布局对象

重复帧、帧、领域、样板、锚、

(3).参数表单对象

参数、字段、样板

(4).PLSQL对象程序单元

(5).触发器

(6).外部的Library库

2. Report Styles


Tabular Report: 基本的类型报告,没列对应于从数据库中选择的一个列

Group Above Reports:

Group Left Reports:

Form-Like Reports:

Form Letter Reports:

Mailing Label Reports:

Matrix Reports:矩阵报表

3. 数据模型 DataModel


查询Query

组Groups

列(Formula、Summary、Placeholder Column)

连接(Data Link)

参数(System Paramters & User Paramters)

3.1. 查询(Query)


内部查询(SQL Query): 内部SQL,无法被其他Report所应用;

外部查询(Ref Cursor Query):应用Package中的Ref Cursor,可以作为共享,具体的SQL可以定义在Report或者定义在Package中;

单查询:Report只有一个Query;

多查询:Report存在多个Query,可以使互相关联的,也可以是不关联的;

相关的多查询:多个Query中相互关联,一般用于主从式报表,两者之间通过Datalink进行关联

不相关的多查询:Query之间不存任何关系,查询先后顺序由Query的顺序位置决定,先上后下,先左后右

3.2. 组(Group)


1.组的功能

(1).将一个查询的数据分成几个集合,每个结合称为组

(2).过滤查询数据,通过组过滤对应的查询结果

2.组的种类

(1).缺省组:建立Query时,自动产生Group

(2).用户定义组:用于三种情况产生分组报表&产生矩阵报表&产生子汇总

3.组过滤

允许有条件的选择由查询检索出来的数据,设定条件,过滤查询结果

(1).Oracle Report封装的过滤器

First Filter:显示组内前N条数据

Last Filter:显示组内后N条数

(2).用户定义过滤器

该过滤器通过编写PLSQL建立

4.组的层次结构

组的层次结构决定了在缺省布局对象中组的顺序

如果没有DataLink,组由Query的位置决定,自左向右,自上而下

如果存在DataLink,组由Query的主从关系决定

3.3. 列(Database、Formula、Summary、Placeholder Column)


1.缺省列

为查询Select欲绝的每一项都建立一个列

2.用户定义列 - 公式列(Formual Column)

为该列定义一个计算公式,Ex: return :sal+nvl(:com,0)

按建立的位置,分为Group Level & Report Level

3.用为定义列 - 汇总列(Summary Column)

提供的计算函数有:总和、平均值、最大值、最小值,标准差,方差、计数,%总计

按建立的位置,分为Group Level & Report Level

重要属性:功能 、 源 、重设于

重设于:选择汇总的频率,是整个报表做一次汇总、每页做一次汇总、还是每个组做一次汇总

3.4. 连接(Data Link)


数据连接通过主键和外部键定义了两个Query之间的主/从关系

1.等值连接 & 非等值连接

2.SQL子句:Having & Start With & Where

3.条件:=、<、 >、 <=、 >、 >=、 <>、 Like、 Not Like

3.5. 参数(System Paramters & User Paramters)


1.系统参数(System Parameter)

系统默认参数,Oracle Report允许为每个报表修改标准运行设置

系统参数总共后11个

Ex: 打印的分数、货币表示方式、小数点表示方式、打印机设置、名字

2.用户参数(User Parameter)

自定义参数,该对象用于保存在运行时用户可以改变的值

在Select中代替列名字,条件,或者整个SQL

(1).引用方式 - 连接引用

i.用途:主要用于替换SQL语句或者PLSQL块中的一个值或表带式

ii.调用符号: :

iii.限制: 不能在Select中使用替换列名,不能在Form从句中使用连接引用

iv.例子

SELECT EMPNO, ENAME, SAL, COMM
                  FROM EMP
                  ORDER BY DECODE(:P_SORT, 1, EMPNO, 2, SAL);

(2).引用方式 - 置换引用

i.用途:用于替换Query Select中任何一部分

ii.调用符号: &

iii.限制: 不能在PLSQL块中使用

iv.例子

SELECT &P_ENAME NAME, &P_EMPNO ENO
                  FROM &P_EMP;

3.值列表

用于用户输入参数时,自动弹出列表让用户选择

建立方式:静态值 & Select语句

4. Layout


5. 参数表单(Parameter Form)


当运行一个Report时,Oracle Report会弹出一个窗口

6 Oracle Report中的PLSQL


用于具体的数据库事物处理

可以是使用数据库操作语言(DML):Insert、Update和Delete操作

不支持数据库定义语言(DDL): Oracle Report提供了SRW.DO_SQL封装过程增加至Report中

(1).PLSQL异常处理

i. 用户定义的异常处理:自定义Exception,再Raise

ii.标准封装的异常处理:No_Data_Found / Too_Many_Rows / Invalid_Number / Zero_Divide / Others 等

iii.Oracle特有的异常类处理:Raise SRW.DO_SQL_FAILURE / SRW.INTEGER_ERROR / MAXROW_INERR /SRW.NULL_ARGUMENTS / SRW.PROGRAM_ABORT

(2). 可以使用的9中方式PLSQL结构块

PLSQL程序库(external libraries)

附件程序库(attached libraries)

程式单元(report program units)

报表触发器(report triggers)

组过滤器(group filters)

公式(formula)

验证触发器(validation triggers)

格式触发器(format triggers)

动作触发器(action triggers)

7. Oracle Report触发器


触发器可以分为三类:报表触发器、数据模型触发器、布局格式触发器

1.报表触发器

共有5个,分别在报表运行的不同阶段运行

可以执行的操作:调整报表的格式, 执行初始化任务, 访问数据库

(1).Before Parameter Form

时间点:显示运行参数表之前

用途: 存取并修改参数值、PLSQL全局变量

(2). After Parameter Form

时间点:显示运行参数表之后

用途:检验和修改参数值,如果运行出现问题,则返回至参数表

(3). Before Report

时间点:运行报表之前

用途:用于初始化参数,特别是触发Query中的SQL条件

(4). Between Pages

时间点:除去第一页外,每一页之前都会被触发

用途:用于页的格式化

(5). After Report

时间点:结束报表

用途:将报表输出至对应目录下或者Email,删除临时表,清除初始化处理

2. 数据模型触发器

(1). 公式列触发器

公式列中的代码必须返回给公式,此公式列可以为序列,在Report不显示

(2). 组过滤器

触发时间点在检索数据之后,显示数据之前,限制记录的出现与否,此功能也可以在Where子句中实行

例子:只显示1000条数据

(3). 验证触发器

在系统参数和用户自定义参数中编写验证触发器,如果参数不正确,则停止报表运行

验证触发器必须返回一个布尔值,如返回False,则光标停留在参数中

例子:按部门打印员工列表时,对输入参数部门号进行验证

3. 布局触发器

允许用户在报表运行时根据一定条件动态地修改布局对象的显示或隐藏

布局触发中不饿能够使用DML语句

例子:在工资单报表,只有主管可以看到工资明细

4. 动作触发器

在预览器中选中一个按钮时执行的PLSQL过程,可以动态调用另一报表或者实执行PLSQL程序

8. SRW


Oracle Report提供的特殊的封装包,包括可在库中应用的参数、过程和异常处理

PLSQL块中可以应用SRW包的任何部分,但SRW只能在Oracle Report中调用,不能再其他工具(Forms Build)中使用

1. 用途

控制报表的运行

在运行时输出信息

初始化域对象

执行DDL语句 (建立/删除临时表)

调用用户接口

动态设置布局对象属性,(字体或者填充)

2. 常用的SRW包例子

9. 矩阵报表


建立举证报表必须满足四个条件

1. 单查询矩阵报表

2. 多查询矩阵报表

3. 觉有合计的矩阵报表

4. 矩阵间断式报表

10. 程序单元(Program Units)


11. 附加的程序库(Attached Libraries)


12. PLSQL程序库(External Libraries)


Thanks and Regards

Report_Report Builder的一些基本概念(概念)相关推荐

  1. 生成器设计模式(Builder Design Pattern)[论点:概念、图示、示例、框架中的应用、场景]

    文章目录 概念 相关图示 代码示例 框架中的应用 场景 多个生成器(Concrete Builder): 单个生成器 概念 生成器设计模式(Builder Design Pattern)是一种创建型设 ...

  2. 微服务概念 概念提出者Martin Fowler的译文

    微服务 有关这个新的技术架构术语的定义 "微服务架构"这个术语最近几年横空出世,来描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计.尽管这种架 ...

  3. web阶段概念语法----学习笔记

    web学习笔记大纲 一.Oracle数据库 1.概念 2.sql命令(增删改查) 1)select命令 2)insert命令 3)update命令 4)delete命令 3.函数--- oracle提 ...

  4. 常识性概念图谱建设以及在美团场景中的应用

    来源:美团技术团队本文约9600字,建议阅读15分钟 本文介绍了美团常识性概念图谱构建的Schema,图谱建设中遇到的挑战以及建设过程中的算法实践,最后介绍了一些目前常识性概念图谱在业务上的应用. 常 ...

  5. 机器知道哪吒是部电影吗?解读阿里巴巴概念图谱AliCG

    概念是人类认知世界的基石.比如对于"哪吒好看吗?","哪吒铭文搭配建议"两句话,人可以结合概念知识理解第一个哪吒是一部电影,第二个哪吒是王者荣耀的英雄.然而机器 ...

  6. 4.事务提交过程,事务基本概念,Oracle中的事务生命周期,保存点savepoint,数据库的隔离级别

     事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功,要么都失败 事务的隔离性:多个客户端同时操作数据库的时候,要隔离它们的操作, 否则出现:脏读  不可重复读  幻 ...

  7. 数据库-数据库设计原则-范式概念

    范式概念 概念:范式就是符合某一规范级别的关系模式的集合.共有7种范式: 1NF ⊃2NF⊃3NF⊃BCNF⊃4NF⊃5NF⊃6NF 第一范式(First Normal Form) 如果一个关系模式R ...

  8. 树和二叉树的基本概念(二级)

    我们来看数据结构的另外一块内容,树和二叉树,这是我们数据结构的一个重点,尤其是二叉树来说,树是一个重点,我们主要是研究二叉树,先看一下树的基本概念,然后我们再看一下二叉树的基本知识,这两部分讲完之后呢 ...

  9. 【用学校抄作业带你走进可持久化线段树(主席树)】可持久化线段树概念+全套模板+例题入门:[福利]可持久化线段树)

    我似乎很少写这种算法博客 可持久化线段树概念 概念介绍(类比帮助理解) 简单分析一下时间和空间复杂度(内容池) 模板 结构体变量 建树模板 单点修改模板 单点查询模板 区间修改模板(pushup) 区 ...

最新文章

  1. 重磅!Gartner公布2019年十大战略科技发展趋势
  2. 这家获得谷歌投资的企业想把亚马逊挑下神坛
  3. 链路层的网卡聚合-基于Linux bonding
  4. php静态地图api,静态图API | 百度地图API SDK
  5. 博达3956交换机配置手册_网络设备维保浅谈之交换机维保
  6. mysql修改数据库历史_MySQL之操作数据库
  7. springcloud中config和bus的使用
  8. iptables学习笔记:同一端口号同时支持tcp和udp的转发
  9. python爬取+BI分析5000条内衣数据,发现妹子最爱这款文胸
  10. Protel 99SE安装向导
  11. 视频编码格式和封装格式有哪些?视频封装格式和编码格式有什么区别?一篇弄懂
  12. 如何快速删除 Word 文档中的分节符
  13. python实现局域网文件互传_Python+pyftpdlib实现局域网文件互传
  14. windows下快速安装nginx并配置开机自启动的方法
  15. c语言 椭圆,C语言画圆椭圆
  16. C语言单元测试---cunit(一) ---- 博客经典;
  17. 独秀日记:给我介绍一份工作
  18. h5调起手机拍照功能
  19. win7计算机名改成大写,处置win7系统将word中的阿拉伯数字转换成大写数字的还原方案...
  20. wireshark启用协议

热门文章

  1. 电子健康档案:实现医疗信息的有效共享
  2. 微信怎么防封几率大_域名被墙有哪些处理方法?域名被微信封了该怎么解决?
  3. spring_boot 发布成war包 ,部署到外部的tomcat
  4. FreeRTOS学习(一)
  5. CIAA 网络安全模型 — 数据传输安全
  6. [译]带你揭开Kotlin中属性代理和懒加载语法糖衣
  7. 哈哈...汗汗...
  8. 基恩士KV8000程序 基恩士KV8000,威伦通触摸屏,搭载KV-XH16EC总线模块进行分布式总线控制
  9. 5G技术领先的华为还是输了,小米在618热销5G手机榜居首
  10. 【引用】DMA内存申请--dma_alloc_coherent