应用PL/SQL触发器实现Oracle数据库表间数据同步技术制造技术

技术编号:2843563 阅读:915 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于人力资源管理、物资管理等软件的应用PL/SQL触发器实现Oracle数据库表间数据同步技术,其特征在于:该技术是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“:old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的。本发明专利技术提供的技术方法操作简便,易于实施,利用它可以实现人力资源管理、物资管理等软件Oracle数据库表间的数据同步,方便查询程序的进行,并可避免递归错误信息。

【技术实现步骤摘要】

本专利技术涉及一种用于人力资源管理、物资管理等软件应用的技术方法。
技术介绍
随着信息技术的发展,Oracle数据库技术越来越广泛地推广应用到各个领域,其中包括人力资源管理、物资管理软件中。应用Oracle数据库进行数据处理的过程中,为了表述某一事务的不同属性,设计人员根据事务的不同属性设立N个事务属性表,属性表用于记录事务属性的演变过程。N个属性表用一个或一个以上的关键字同事务表联接起来。为了满足用户的需求,方便查询程序的实现,设计人员经常将N个事务属性表的字段联合起来,建立属性集合表,当属性表发生变化时,属性集合表记录属性表的最新情况。目前,在人力资源管理软件Oracle数据库不同的表中建立Update、Insert触发器,遵循PL/SQL语言规则,均可以应用“new.Id”、“old.Id”来表述Where条件中复合条件值的设置,进而实现新值的提取,并对属性集合表内的数据进行更新。但在Delete触发器的实现过程中,“old.Id”是不能够被引用的,如果引用了“old.Id”,当Delete触发器运行时,Oracle数据库系统会提示递归错误信息,这种错误用Oracle本身提供的函数是无法得到解决的。
技术实现思路
本专利技术的目的在于提供一种可以实现Oracle数据库表间数据同步并可避免递归错误信息的应用PL/SQL触发器实现Oracle数据库表间数据同步技术。本专利技术解决其技术问题所采用的技术方案是该技术是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的。以人力资源管理软件为例其实施步骤如下1、建立记录着职工自然状况的事务表table1,表中包括Id、姓名(Name)、性别(Sex)、民族(Nationality)等,其中Id(关键字)是该表主键,Varthar2为字符串类型,长度指字节,英文1个字母1个字节,汉字1个汉字为2个音节;表1事务表table1 2、建立记录着职工学历演变属性的事务属性表table2,表中包括Id、毕业时间(Graduationdate)、毕业学校(School)等,其中Id是该表的外部键,Id、Gnaduationdate是该表的索引键;表2第一个事务属性表table2 3、建立记录着职工简历的第二个事务属性表table3,表中包括Id、起始时间、工作单位等,其中Id是该表的外部键,Id、Startdate是该表的索引键;表3第二个事务属性表table3 4、建立有table1、table2、table3三个表集合的属性集合表table0,其中,Id是该表的外部键,表中的记录自动形成;表4属性集合表table0 5、在不同的表中建立Update、Delete、Insert触发器,应用PL/SQL语言规则,实现table0表内容的联动。本专利技术提供的技术方法操作简便,易于实施,利用它可以实现人力资源等管理软件Oracle数据库表间的数据同步,方便查询程序的进行,并可避免递归错误信息。附图说明表1、表2、表3、表4分别为本专利技术实施过程中需要建立的事务表table1、事务属性表table2、table3和属性集合表table0。实施例按照前述的本专利技术技术方案实施步骤和提供的图表,输入相应的具体文字或数字,即可顺利进行人力资源管理软件Oracle数据库对程序的查询和应用。若为物资管理或其他管理软件,则需建立相应的事务表table1、事务属性表table2、table3及属性集合表table0,并输入相应的数据资料即可。本文档来自技高网...

【技术保护点】
一种应用PL/SQL触发器实现Oracle数据库表间数据同步技术,其特征在于:该方法是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“:old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的;其实施步骤如下:(1)、建立记录着职工自然状况的事务表tablel,表中包括Id、姓名、性别、民族等,其中Id是该表主键;   (2)、建立记录着职工学历演变属性的事务属性表table2,表中包括Id、毕业时间、毕业学校等,其中Id是该表的外部键,Id、Gnaduationdate是该表的索引键;(3)、建立记录着职工简历的第二个事务属性表table3 ,表中包括Id、起始时间、工作单位等,其中Id是该表的外部键,Id、Startdate是该表的索引键;(4)、建立有table1、table2、table3三个表集合的属性集合表table0,其中,Id是该表的外部键,表中的记录自动 形成;(5)、在不同的表中建立Update、Delete、Insert触发器,应用PL/SQL语言规则,实现table0表内容的联动。...

【技术特征摘要】
1.一种应用PL/SQL触发器实现Oracle数据库表间数据同步技术,其特征在于该方法是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的;其实施步骤如下(1)、建立记录着职工自然状况的事务表table1,表中包括Id、姓名、性别、民族等,其中Id是该表主键;(2)、建立记录着职工学历演变属性的事务属性表table2,表...

【专利技术属性】
技术研发人员:关玉双宋祝军刘建林徐磊罗怀达
申请(专利权)人:辽河石油勘探局
类型:发明
国别省市:21[中国|辽宁]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1