oracle报表功能设计,ORACLE数据库中报表方式的设计

第 16 卷第 1 期 纺 织 高 校 基 础 科 学 学 报 Vol. 16,No. 1  2003 年 3 月 BASIC SCIENCES JOURNAL OF TEXTILE UNIVERSITIES M arch, 2003    文章编号: 100628341(2003) 010078205 ORACL E 数据库中报表方式的设计 曹冬梅 (西北税务学校 教学研究室, 陕西 西安 710065)Ξ摘要 : 介绍了在以 TNV T220 方式远程登录服务器的局域网中, 采用 SCO UN IX 操作系统和ORACL E 数据库的报表方式设计, 用于图书馆的计算机信息管理系统中 . 所设计的用户出口报表有 4 种方式: SQL3PLU S、SQL3ReportW rite、ProC、SQL3Form s, 并对 4 种报表方式进行了描述与比较 . 关键词:ORACL E 数据库; 图书馆信息管理; 用户出口报表方式设计中图分类号: TP 311. 1  文献标识码:A    0 引 言在数据库管理系统使用中, 经常要从数据库中读取数据, 进行统计, 并要求打印出报表 . 90 年代 初、中叶的图书馆信息管理系统为多用户管理系统, 采用UN IX 操作系统和UN IFY 数据库 . 目前, 多用户方式已经不是最佳方案, 计算机技术及网络技术的突飞猛进, 使各种应用系统的网络模型从CgS 两层结构向多层结构的方向发展 . 新的数据库系统建立在远程登录的局域网基础上, 采用Dell Pow erEdge SP513322 服务器, SCO UN IX Open Server 3. 0 操作系统,ORACL E7 数据库管理系统 . 本文中论述了图书馆信息管理系统ORACL E 数据库的 4 种报表方式的设计, 4 种报表方式为: SQL 3PLU S、SQL3ReportW rite、ProC、SQL3Form s 用户出口 . 在图书馆中文编目子系统中, 有三个主要的基表: 图书加工库(tsjgk t)、图书总库(tszk t)和流通库(ltk t). 图书总库存有全馆所有图书的信息, 每种图书一条记录 . 流通库是参照图书总库, 对全 馆每册图书建立一条记录并对其所处位置预以标识 . 图书加工库结构与图书总库结构基本相同, 存有 每批正在处理的新书记录 . 每批新书数据录入完毕后, 均要进行图书入库及图书调配 . 图书入库是将 图书加工库的记录增加到图书总库中, 同时也增加到流通库中 . 图书调配是由工作人员根据馆藏情况 决定每本图书的去处: 教师阅览室、学生阅览室和各个书库 . 本文以产生教师阅览室调配单报表为例予以说明, 产生报表涉及到两个基表, 图书加工库(tsjgk t)和流通库(ltk t). 表结构如下: tsjgk t      g3图书加工库3g       w ssh not null varchar2(20)      索书号ww bdm not null varchar2(2)文别代码w dgbz not null number (5)到馆批号w bsx1      varchar2(1)图书入库标识w bsx6      varchar2(1)g3图书调配标识3gΞ收稿日期 : 20020531作者简介 : 曹冬梅(19682) , 女, 山东省昌邑县人, 西北税务学校讲师 . ltk t g流通库3glcch not null number(6)财产号lssh      varchar2(20)索书号glzx

初学oracle报表开发笔记 -- process report output('<HTML xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel">'); output('<head>'); output('<title>库存现有量报表</title>'); output('<style>'); output('body,table{font-size:13px;font-family:"Book Antiqua","Segoe UI", Tahoma, "Trebuchet MS", verdana, helvetica, arial, sans-serif, Georgia;}.text {mso-number-format:"\@";}.retnum {mso-number-format:"0\.00";}'); output('</style>'); output('</head>'); output('<body>'); output('<h2 align=center><B>库存现有量报表</B></h2>'); output('<table width=600 border=0 bordercolor=black>'); output(' <tr>'); output('<th align=right>OU:</th>'); output('<td align=left>' || g_ou_name || '</td>'); output('<th align=right>组织:</th>'); output('<td align=left>' || l_organization_name || '</td>'); output(' </tr>'); output('</table>'); output('<table width=1800 border=1 bordercolor=black>'); output(' <tr>'); output('<th rowspan=1 width=50>库存组织编码</th>'); output('<th rowspan=1 width=50>库存组织说明</th>'); output('<th rowspan=1 width=50>子库编码</th>'); output('<th rowspan=1 width=50>子库说明</th>'); output('<th rowspan=1 width=50>物品编码</th>'); output('<th rowspan=1 width=50>物品说明</th>'); output('<th rowspan=1 width=50>批次</th>'); output('<th rowspan=1 width=50>库存量 </th>'); output('<th rowspan=1 width=50>最小库存量</th>'); output('<th rowspan=1 width=50>最大库存量</th>'); output(' </tr>'); FOR cl IN (select OOD.ORGANIZATION_CODE, --库存组织编码 OOD.ORGANIZATION_NAME, --库存组织说明 MSA.SECONDARY_INVENTORY_NAME subinventory_code, --子库编码 MSA.DESCRIPTION subinventory_name, --子库说明 MSIV.SEGMENT1 item_no, --物品编码 MSIV.DESCRIPTION item_desc, --物品说明 MOQD.LOT_NUMBER, --批次 sum(MOQD.Primary_Transaction_Quantity) Primary_Transaction_Quantity, --库存量 MSIV.MIN_MINMAX_QUANTITY, --最小库存量 MSIV.MAX_MINMAX_QUANTITY --最大库存量 from mtl_onhand_quantities_detail moqd, ORG_ORGANIZATION_DEFINITIONS OOD, mtl_subinventories_all_v MSA, MTL_SYSTEM_ITEMS_VL MSIV where moqd.inventory_item_id = msiv.INVENTORY_ITEM_ID and moqd.organization_id = msiv.ORGANIZATION_ID and moqd.organization_id = ood.ORGANIZATION_ID and moqd.subinventory_code = msa.SECONDARY_INVENTORY_NAME and moqd.organization_id = msa.ORGANIZATION_ID group by OOD.ORGANIZATION_CODE, OOD.ORGANIZATION_NAME, MSA.SECONDARY_INVENTORY_NAME, MSA.DESCRIPTION, MSIV.SEGMENT1, MSIV.DESCRIPTION, MOQD.LOT_NUMBER, MSIV.MIN_MINMAX_QUANTITY, MSIV.MAX_MINMAX_QUANTITY) LOOP output(' <tr>'); output(' <td align=left><font size=1>' || cl.ORGANIZATION_CODE || '</font></td>'); output(' <td align=left><font size=1>' || cl.ORGANIZATION_NAME || '</font></td>'); output(' <td align=left><font size=1>' || cl.subinventory_code || '</font></td>'); output(' <td align=left><font size=1>' || cl.subinventory_name || '</font></td>'); output(' <td align=left><font size=1>' || cl.item_no || '</font></td>'); output(' <td align=left><font size=1>' || cl.item_desc || '</font></td>'); output(' <td align=left><font size=1>' || cl.LOT_NUMBER || '</font></td>'); output(' <td align=left><font size=1>' || cl.Primary_Transaction_Quantity || '</font></td>'); output(' <td align=left><font size=1>' || cl.MIN_MINMAX_QUANTITY || '</font></td>'); output(' <td align=left><font size=1>' || cl.MAX_MINMAX_QUANTITY || '</font></td>'); output(' </tr>');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值