代码之家  ›  专栏  ›  技术社区  ›  Juan Carlos Oropeza

当insert需要唯一id时,为同一个表使用三个不同的触发器

  •  0
  • Juan Carlos Oropeza  · 技术社区  · 8 年前

    我有一个带有3个触发器的兴趣点表POI。

    • 一个是地理信息。基于X,Y的州,城市,街道。
    • 其次,对字段内容进行一些验证,如果有任何违反,则提出错误。
    • 第三,创建关于变更内容和变更人的审计记录。

    此表以前是使用mapinfo处理的,因此在插入之前,它们会为mapinfo创建一个唯一的生成id。

    现在我们要转到QGIS,这个程序没有唯一的id。据我所知,v12之前的oracle没有自动增量字段,所以需要使用序列来获得唯一的id。

    现在我的问题是,当有三个不同的触发器时,如何为POI创建一个唯一的值?

    我是否应该在单独的函数中重构所有3个触发器,并从一个触发器调用它们,从中获得序列。下一个?或者有其他方法更新当前函数以使用相同的id?

    我真的不想碰那些触发器,因为它们是遗留应用程序的一部分。但我看不到其他解决办法。

    0 回复  |  直到 8 年前