- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle存储过程在社会保险网上公共服务管理系统应用
Oracle存储过程在社会保险网上公共服务管理系统应用
摘 要:本文通过社会保险网上公共服务管理系统的开发,实现了利用oracle数据库中存储过程来实现不同参保单位补缴不同年份的养老保险金的利息计算问题,从而简化了该功能的计算过程,提高了数据处理速度,减少了网络通信流量,提高了系统的执行效率。
关键词:oracle数据库;存储过程;养老保险金;计算利息
中图分类号:TP311.138
基于oracle数据库平台的社会保险网上公共服务管理系统的设计目标,是为了进一步完善现有社保业务管理服务社会化的要求,提高社保部门的服务水平,提高工作效率,减少用人单位的工作量,降低各项错误数据的产生,逐步实现参保单位办理社保业务的标准化、规范化。基于该目标,在系统开发过程中涉及计算不同参保单位补缴不同年份的养老保险金的利息计算问题模块,该问题涉及众多的参保单位,计算不同年份的利息,计算过程繁琐,根据存储过程的执行特点和优点,将该模块使用存储过程来实现,简化了该计算过程,体现了模块化程序设计的思想。
1 存储过程概述
1.1 存储过程概念。存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。Oracle 中的存储过程是sql、pl/sql、java语句的组合,使用存储过程可以将执行商业规则的代码从应用程序转移到数据库中,从而使相应的代码存储一次就可以被多个程序多次调用。
1.2 存储过程的优点
(1)存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
(2)当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
(3)存储过程可以重复使用,可减少数据库开发人员的工作量。
(4)安全性高,可设定只有某用户才具有对指定存储过程的使用权。
(5)减少网络传输:特别是对于一些处理数据的存储过程,不必像直接使用SQL语句那样多次传送数据到客户端。
(6)可维护性高:更新存储过程通常要比更改、测试和部署应用程序需要的时间和精力要少。
1.3 使用存储过程的策略
(1)当一个事务涉及到多个SQL语句或者涉及到多个表的操作时,应该考虑使用存储过程。(2)当一个事务的完成需要很复杂的商业逻辑时,考虑使用存储过程。(3)当要处理比较复杂的计算、统计、汇总操作时,考虑使用存储过程。
2 社会保险网上公共服务管理系统利息结算分析
根据豫人社养老[2010]11号文件的规定,在未参保人员和漏保人员参保时,需要补缴基本养老保险费本金和利息。由于涉及众多的参保单位,用户个人账户的利息计算以1998缴费年度为分界点,过程繁琐,下面给出该过程的计算方法:
(1)1998年度之前个人帐户的计息:上年度帐户储存额存满一年计全息,当年度缴费计半息。年度计息公式:累计金额本年度=累计金额上年度×(1+年利率本年度)+当年金额×(1+年利率本年度/2)
(2)1998年度之后(含1998年度)个人帐户的计息:资金在帐户中存满全年按年利率计算,当年缴费按照其在帐户中存续的月份数乘以年利率的1/12结算;年度计息公式:累计金额本年度=累计金额上年度×(1+年收益率本年度)+∑当年各月金额×(1+存续月数×年收益率/12本年度)
通过以上的介绍可以看出,如果不采用存储过程来开发,不同单位、不同年份都要重复相同的代码,程序开发人员的工作量很大,且效率很低,维护起来也很麻烦,该过程正好符合使用存储过程解决问题的策略,因此在该系统中使用存储过程来实现利息的计算问题。
3 使用存储过程进行利息计算具体实现
由于该存储过程代码量比较大,所以在该文中略去了定义变量部分及异常处理部分,只写出了主要的计息过程。参数介绍:输入参数为:单位代码、应缴费年月、缴费金额,返回值为:错误代码、应缴利息。
CREATE OR REPLACE procedure ztj_jslx(lsdwdm IN VARCHAR2 ,lsyjny IN VARCHAR2 ,ldje IN Number , v_return out varchar2 ,ldyjlx out NUMBER ) is
--定义变量
…
--循环取出缴费年度、工作年度的起始年月、结束年月和历年的利率
cursor cc IS select jf_nd ls
您可能关注的文档
- NoSQL非关系型数据库发展和应用研究.doc
- Notch1Notch2 Notch3跨膜受体蛋白在淋巴瘤组织中表达及意义.doc
- notch―1p16在宫颈癌中表达及临床意义.doc
- Notch信号通路在结直肠肿瘤干细胞中作用.doc
- Notch信号通路在组织血管化中作用.doc
- Notes数据库与关系型数据库之间整合在办公自动化系统中应用.doc
- Nova4130MN型氢氧分析仪在钢带炉系统中应用.doc
- NovaChip超薄磨耗层在连霍高速洛三灵段专项养护上应用研究.doc
- Novachip超薄磨耗层在高速公路养护维修工程中应用.doc
- Novachip超薄磨耗层技术在韶赣高速养护工程中应用.doc
文档评论(0)