专利名称::应用PL/SQL触发器实现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事务表table12、建立记录着职工学历演变属性的事务属性表table2,表中包括Id、毕业时间(Graduationdate)、毕业学校(School)等,其中Id是该表的外部键,Id、Gnaduationdate是该表的索引键;表2第一个事务属性表table23、建立记录着职工简历的第二个事务属性表table3,表中包括Id、起始时间、工作单位等,其中Id是该表的外部键,Id、Startdate是该表的索引键;表3第二个事务属性表table34、建立有table1、table2、table3三个表集合的属性集合表table0,其中,Id是该表的外部键,表中的记录自动形成;表4属性集合表table05、在不同的表中建立Update、Delete、Insert触发器,应用PL/SQL语言规则,实现table0表内容的联动。本发明提供的技术方法操作简便,易于实施,利用它可以实现人力资源等管理软件Oracle数据库表间的数据同步,方便查询程序的进行,并可避免递归错误信息。表1、表2、表3、表4分别为本发明实施过程中需要建立的事务表table1、事务属性表table2、table3和属性集合表table0。实施例按照前述的本发明技术方案实施步骤和提供的图表,输入相应的具体文字或数字,即可顺利进行人力资源管理软件Oracle数据库对程序的查询和应用。若为物资管理或其他管理软件,则需建立相应的事务表table1、事务属性表table2、table3及属性集合表table0,并输入相应的数据资料即可。权利要求1.一种应用PL/SQL触发器实现Oracle数据库表间数据同步技术,其特征在于该方法是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的;其实施步骤如下(1)、建立记录着职工自然状况的事务表table1,表中包括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表内容的联动。全文摘要本发明涉及一种用于人力资源管理、物资管理等软件的应用PL/SQL触发器实现Oracle数据库表间数据同步技术,其特征在于该技术是通过建立临时表interimtable,应用Delete触发器的before和after功能,通过对interimtable中对Id号的存储,并读出到数据变量中,回避对“old.Id”的直接应用,实现Oracle数据库表间数据同步,达到方便查询准确信息的目的。本发明提供的技术方法操作简便,易于实施,利用它可以实现人力资源管理、物资管理等软件Oracle数据库表间的数据同步,方便查询程序的进行,并可避免递归错误信息。文档编号G06F17/30GK1945579SQ200610134109公开日2007年4月11日申请日期2006年10月28日优先权日2006年10月28日发明者关玉双,宋祝军,刘建林,徐磊,罗怀达申请人:辽河石油勘探局