我有一个包含用户的表格,其中有一个包含电话号码的列和另一个包含 ID 的列和另一个包含呼叫的表,其中有电话和呼叫用户的 ID(如果用户呼叫将具有相同的 ID两个表)。现在我需要执行一个函数和一个触发器,当呼叫用户的 ID 与表 users 中的用户的 ID 相同时,更新表 users 中的电话号码。 问题是,当我将值插入表中时(使用来自用户的相同 ID),电话号码不会更新。
我的函数和触发器:
--Function:
CREATE OR REPLACE FUNCTION validate_phones() RETURNS trigger AS $$
BEGIN
UPDATE matchdotcom.user
SET matchdotcom.user.phonenumber =
(SELECT NEW.v.phone_number
FROM matchdotcom.calls v, matchdotcom.user u )
WHERE NEW.calls.user_id = matchdotcom.user.iduser
;
RETURN update_phone;
END;
$$ LANGUAGE plpgsql;
--Trigger:
CREATE TRIGGER update_phone
BEFORE INSERT OR UPDATE ON matchdotcom.calls
FOR EACH ROW EXECUTE PROCEDURE validate_phones();
谢谢你帮我解决这个问题:)