2015-12-21 29 views

回答

1

看着你的代码,我想你正在试图将INSERT的类别字段填充到EXPENSES表中,这是基于CATEGORIES表中使用类别名称的ID。

如果我明白这个权利,那么你应该在你的解决方案中使用该函数而不是触发器。当在表上执行DML语句(INSERT,UPDATE,DELETE)时(这里是CATEGORIES表),触发器只会被调用或触发。由于您插入到EXPENSES表中,CATEGORIES表上的触发器将不会被调用。

此外,通常您通常在关系中的父表上使用触发器来更新/填充该关系中的子表。我认为在你的情况下,你正在尝试做相反的事情,因为看起来费用是CATEGORY_ID字段上的CATEGORIES的孩子。

希望这会有所帮助。

+0

谢谢,这确实说明了。这是两张桌子之间的一对一关系。亲子关系有助于解释为什么要使用触发器。 – nick