【发布时间】:2019-07-16 16:56:40
【问题描述】:
我想创建一个执行以下操作的触发器:
将现有记录上的一列信息 jobnumber 从一个表 (jobs) 复制到另一个表(材料)到 attachedjobnumber。
我还没有找到正确的语法来说明这一点。当我插入新作业时 - 没有任何内容得到更新,也没有插入新行,但是日志中没有错误消息。
我还需要将 bool (hasjobnumber) 设置为 true - 当我测试该触发器时 - 它工作正常。
这让我觉得设置material.attachedjobnumber = jobs.jobnumber 的值是问题所在,我猜jobs.jobnumber 在更新表格材料时没有参考...
如果这是真的 - 正确的语法是什么?
我已经测试了单独的触发器,到目前为止,这个触发器工作正常。
UPDATE material
SET isjobyet = "HAS"
WHERE barcode1 IN (
SELECT primaryRFID
FROM jobs
WHERE jobs.primaryRFID = material.barcode1
)
由于此代码确实有效 - 我假设非静态 JobNumber 值是问题的根源。因为“HAS”已正确更新。
UPDATE material
SET material.AttachedJobNumber = jobs.JobNumber
WHERE barcode1 IN (
SELECT primaryRFID
FROM jobs
WHERE jobs.primaryRFID = material.barcode1
)
由此 - 我希望在每次插入表格作业之后:
jobs.JobNumber被分配给material.AttachedJobName
这只会更新material.barcode1 =jobs.primaryrfid所在的物料行。
但根本没有插入新行。
【问题讨论】: