我正在寻求一些关于在 Visual Studio 2010 上编写 AQL 触发器的帮助。我已经跟踪了许多我发现搜索的触发器示例,但我可以设法使其工作。也许你们中在这方面有更多经验的人可以给我一些帮助。
这是场景:我有一个名为“testDB”的数据库。该数据库有 4 个表,主表称为 Product,由 4 列(productId、qualityControl-1-required、qualityControl-2-required、readyToProcess)组成。
如果 qualityControl-#-required 中的任何一个为 yes,则 productId 被插入到相应的 Qcontrol 表中。表 QControl1 和 QControl2 包含 4 个字段(id(pK)、productId(Fk)、qControlFinished、notes)。
第 4 个表 QControlReady 还包含 4 个字段(id(pK)、productId(Fk)、qControl1Done、qControl2Done)。
我想要完成的是一旦 QControl1 和 QControl2 完成并且 QControlReady 上的值反映,所以我想将列 readyToProcess 中的 Product 表更新为“是”。
CREATE TRIGGER dbo.Product_Updated
ON dbo.Product
FOR UPDATE ON dbo.QControlReady
AS BEGIN
UPDATE dbo.Product SET dbo.Product.readyToProcess = "Y"
FROM UPDATED
WHERE updated.id = dbo.Product.productId
AND dbo.QControlReady.qControl1Done == "Yes"
AND dbo.QControlReady.qControl2Done == "Yes"
END