【问题标题】:Create FoxPro Trigger创建 FoxPro 触发器
【发布时间】:2011-04-26 18:40:26
【问题描述】:

我想在 foxpro 中创建一个触发器,它将在我的 db 表中的每次更新后执行,例如 JobActivity。每次更新后,触发器应该在表 JobActivity 中插入更新时间。

【问题讨论】:

    标签: foxpro


    【解决方案1】:

    每次更新后,触发器应将更新时间插入 表 JobActivity。

    我的第一个假设是此数据表更新是在 VFP 应用程序中完成的。

    如果是这样,那就太好了。您只需要查看此更新的完成位置并添加必要的代码即可使用日期/时间更新您的 jobActivity 表。

    而如果被更新的表本身就是jobActivity表,那么用于更新其他数据的UPDATE或REPLACE命令只需要修改成也写入这个Update Tracking字段——很简单。 事实上,如果您想这样做,您还可以轻松添加进行更新的个人的姓名缩写等。

    如果您在使用不同语言的应用程序中执行此操作,您仍然可以添加代码以向 jobActivity 表发出 SQL UPDATE。

    祝你好运

    【讨论】:

      【解决方案2】:

      您可以应用记录规则验证(如@Stuart Dunkeld 所述),而不是在更新之后,该验证在处理插入/更新之前应用于整个记录。

      转到您的数据库容器并创建一个类似的存储过程

      FUNCTION SP_LastUpdated()
         replace LastEditDT WITH DATETIME()
         RETURN .t.
      ENDFUNC
      

      然后,对于记录验证规则,放入 SP_LastUpdated()。

      【讨论】:

        【解决方案3】:

        然后你会想要使用Create Trigger command,除非你有一个问题:VFP 触发器无法更新触发它的表(否则它将以无限循环结束)

        我在多年前做的一个项目中对此有一个解决方案,我认为它使用记录验证规则进行更新,我回家后会查找并发布它。

        【讨论】:

          猜你喜欢
          • 2013-06-10
          • 1970-01-01
          • 1970-01-01
          • 2012-07-30
          • 2017-11-30
          • 2021-08-04
          • 2011-02-03
          相关资源
          最近更新 更多