【发布时间】:2011-04-26 18:40:26
【问题描述】:
我想在 foxpro 中创建一个触发器,它将在我的 db 表中的每次更新后执行,例如 JobActivity。每次更新后,触发器应该在表 JobActivity 中插入更新时间。
【问题讨论】:
标签: foxpro
我想在 foxpro 中创建一个触发器,它将在我的 db 表中的每次更新后执行,例如 JobActivity。每次更新后,触发器应该在表 JobActivity 中插入更新时间。
【问题讨论】:
标签: foxpro
每次更新后,触发器应将更新时间插入 表 JobActivity。
我的第一个假设是此数据表更新是在 VFP 应用程序中完成的。
如果是这样,那就太好了。您只需要查看此更新的完成位置并添加必要的代码即可使用日期/时间更新您的 jobActivity 表。
而如果被更新的表本身就是jobActivity表,那么用于更新其他数据的UPDATE或REPLACE命令只需要修改成也写入这个Update Tracking字段——很简单。 事实上,如果您想这样做,您还可以轻松添加进行更新的个人的姓名缩写等。
如果您在使用不同语言的应用程序中执行此操作,您仍然可以添加代码以向 jobActivity 表发出 SQL UPDATE。
祝你好运
【讨论】:
您可以应用记录规则验证(如@Stuart Dunkeld 所述),而不是在更新之后,该验证在处理插入/更新之前应用于整个记录。
转到您的数据库容器并创建一个类似的存储过程
FUNCTION SP_LastUpdated()
replace LastEditDT WITH DATETIME()
RETURN .t.
ENDFUNC
然后,对于记录验证规则,放入 SP_LastUpdated()。
【讨论】:
然后你会想要使用Create Trigger command,除非你有一个问题:VFP 触发器无法更新触发它的表(否则它将以无限循环结束)
我在多年前做的一个项目中对此有一个解决方案,我认为它使用记录验证规则进行更新,我回家后会查找并发布它。
【讨论】: