gpt4 book ai didi

mysql - 创建一个触发器以根据另一个表更新一个表

转载 作者:行者123 更新时间:2023-11-30 00:08:50 25 4
gpt4 key购买 nike

拜托,我需要你的帮助。我一直在研究触发语句,但它似乎不起作用。

当另一个名为 serialcode 的表上的列时,我需要编写触发器来更新名为 membership 的表的帮助。强>已更新。

详细信息:我有两个名为membershipserialcode 的表。成员资格表有以下列

id    fullname    email    date   state    sn

而序列码表只有

id     sn

我希望成员(member)资格中的 sn 更新为序列码中 sn 的值,其中 membership 中的 id 已更新表与serialcode表中的id相同。

这是我在下面写的内容

CREATE TRIGGER MembershipSerialCode
BEFORE UPDATE ON serialcode
FOR EACH ROW
BEGIN
if :new.sn != :old.sn
then
UPDATE membership m
set membership.sn = :new.sn
where m.id = :new.id;
end if;
END;

谢谢。

迈克

最佳答案

您可以尝试一下这个吗?如果您成功实现了它,请告诉我?

CREATE Trigger TriggerName                         
ON SerialNumberTable FOR UPDATE

AS

IF (Update(sn)) -- This is the column on SerialCodeTable that will be updated first
BEGIN
IF EXISTS (Select i.id
FROM Deleted d INNER JOIN Inserted i
ON d.id = i.id
AND d.sn <> i.sn)
BEGIN
UPDATE MembershipTable SET MembershipTable.sn = i.sn
FROM Inserted i
WHERE MembershipTable.id = i.id
END
END

关于mysql - 创建一个触发器以根据另一个表更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com