PL/SQL也是一門語言,后台開發經常會用到。

目前做要到一個功能,關於“報表任務調度”,說明白了就是做幾張報表,每天統計一次新數據,用於在PC頁面上顯示,我苦思冥想了幾天,總結出三種方案。

開發環境:SSM+oracle(spring,spring MVC,mybatis + oracle)。

1、在pl/sql上,每張報表開發一個對應的儲存過程,每個存儲過程新建一個DBMS_JOB,按相關需求定時執行。

2、在pl/sql上,每張報表開發一個對應的儲存過程,新建一張“報表信息表”,用於保存存儲過程信息;緊接着新建額外的存儲過程“報表任務調度過程”,在此存儲過程里調用報表對應的存儲過程,通過spring的定時任務(quartz)去定時調用存儲過程“報表任務調度過程”。

備注:在存儲過程==》“報表任務調度過程”調用報表存儲過程如下

V_COMMAND := 'BEGIN ' || V_RPT_PRO || '; END;'; (假設已經聲明 V_COMMAND VARCHAR2(300);)

EXECUTE IMMEDIATE V_COMMAND

USING IN param1, OUT V_param2, OUT V_param1, OUT V_param2; --參數類型和傳遞順序必須與存儲過程中的保持一致

3、在pl/sql上,新建一個package,package bady里面開發報表對應的儲存過程,加載到main里面,新建一個DBMS_JOB,定時執行JOB。

分析一下:

第一種方案比較容易理解,但比較麻煩,也不好維護。

第二種方案,流程是:spring調用“報表任務調度過程”,“報表任務調度過程”調用報表的存儲過程,這樣就不用新建DBMS_JOB,還能根據傳入的參數來決定何時調用哪一個報表的存儲過程,只要修改spring配置就能修改常用業務,便於管理,功能和業務也很好拓展和維護。

第三種方案,用包和統一管理存儲過程,也比較好維護和拓展,而且只需要新建一個JOB來調用MAIN即可,在開發效率,管理和維護上,也是一種不錯的選擇。

分析完以上三種方案之后,根據現實情況,決定用第二種方案,理由是:系統是的B/S模式,很多功能都需要在頁面上進行操作和管理,用第二種方案可以很直觀的進行維護和管理。

本文為頭條號作者發布,不代表今日頭條立場。

oracle开发方案,oracle報表開發方案相关推荐

  1. oracle开发常用,oracle开发常用关键字

    一.oracle 非空查询 1.空值与空字符串不同,判断方法也不同 判断NULL用is null 或者 is not null. 判断空字符串,要用 ="或者 <>". ...

  2. SQL2008R2 Reporting Services 報表產生器 3.0 快速上手

    今天去客戶那邊教了一堂 SQL Server 2008 R2 Reporting Services 基礎課程,雖然短短三個小時能教的東西不多但重點應該都點到了,而且快速上手之後只要有資料在手,透過內建 ...

  3. 我的中間層開發,我的 DataSnap

    歷史篇 DataSnap 和 MIDAS 應用程式和資料庫的關係演變 為什麼要用 DataSnap?--兩層的優缺點 為什麼要用 DataSnap?--DataSnap 解決兩層問題的方法 緣起篇 一 ...

  4. oracle 物化视图、中间表的方案

    物化视图 有个项目因为有比较多的查询汇总,考虑到速度,所以使用了物化视图.简单的把用到的给整理了下.先看简单创建语句: create materialized view mv_materialized ...

  5. oracle移动表空间的数据文件,移动Oracle表空间数据文件方案

    方案一:移动常规表空间(非系统表空间)数据文件 /**************数据库服务器某个磁盘空间不足时移动常规表空间数据文件******** 方案一:移动常规表空间(非系统表空间)数据文件 /* ...

  6. ORACLE开发:创建与管理表空间和数据文件1

    Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据. 表空间和数据文件 表空间:某一时刻只属于一个数据库:由一个或多个数据文件组成:可近一步划分逻辑存储单元 数据文件:只能属于一个表空 ...

  7. oracle通过表空间文件进行数据库恢复,Oracle数据库表空间恢复方案_oracle

    一. 用户表空间 错误: 在启动数据库时出现ORA-01157,ORA-01110或操作系统级错误例如ORA-07360,在关闭数据库(使用shutdown normal或shutdown immed ...

  8. oracle中的flag,MMT 表中的 Cost_Flag=E,如何解决?

    原帖由 dkyo 于 2008-2-18 09:12 发表 上面那段update语句和重新提交效果是一样的.但依照你所说的,应该是仍然有错,处理不过去,不仅仅是costed_flag的问题了.再仔细查 ...

  9. 快速android app开发,快速學會開發 Android App

    快速學會開發Android App 作者:吳玉舒 / 臺灣大學計算機及資訊網路中心程式設計組幹事 智慧型手機發展迅速,其中以Android和iOS為主要的平台,根據 2012年6月Nielsen 的調 ...

最新文章

  1. CapsuleNet(了解)
  2. 独家 | 基于新闻标题的股价走势分析(附链接)
  3. 解决git pull/push每次都需要输入密码问题
  4. java 复制剪贴板_java_swing复制粘贴、剪贴板
  5. SignalR第一节-在5分钟内完成通信连接和消息发送
  6. 织梦php远程连接数据库,用PHP连接Oracle for NT 远程数据库
  7. 求序列最长不下降子序列_最长不下降子序列nlogn算法详解
  8. 在没有图片的情况下用css3实现一个圆形
  9. 2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)
  10. 计算机网络技术期末应用试卷,中专学校2016年《计算机网络技术与应用》期末考试题(考试卷与答案)...
  11. 视频教程-思科入门CCNA初级网络工程师视频课程-网络技术
  12. 英语播客列表opml_Hanselminutes播客Feed列表
  13. 盛天海电商:拼多多的定价策略有哪些?
  14. Java——》获取map中最小key,最小value
  15. 智能家居为什么跑不出“独角兽”?
  16. 推荐一款高效的处理延迟任务神器
  17. 腾讯地图发送定位-打开定位功能
  18. 网络工程项目报价单应该怎么写?记住这6个步骤准没错!
  19. Thermal 芯片工作温度知识总结
  20. python 结束 serve_forever_如何使用Python脚本启动和停止包含“http.server.serveforever”的Python脚本...

热门文章

  1. 弹性均质圆环法计算过程_蚝油的加工工艺,蚝油总固形物(水分含量)计算公式,检测方法...
  2. php 文件管理系统_如何编写程序实现图书管理系统的个人图书借阅查询功能
  3. java coding_java coding学习
  4. java类获取声明,获取用于MethodInvocation的实际类而不是声明类 - java
  5. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第1章-绪论
  6. 数字IC设计bilibili-Designer Compiler的理论笔记+实操
  7. 准备入门IC的全局观念系列-中
  8. 【PC工具】Windows下用RaiDrive挂载各种网盘为本地硬盘,挂载Google Drive网盘为本地硬盘使用...
  9. 【PC工具】免费文库文档下载器,破解文库下载器,免费下载文库文档,文库下载器...
  10. 四 配置sshd与samba服务