我正在尝试使用此功能并触发工作:

时间:2021-04-29 07:49:55

标签: sql postgresql plpgsql pgadmin-4

我有一个包含用户的表格,其中有一个包含电话号码的列和另一个包含 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();

谢谢你帮我解决这个问题:)

0 个答案:

没有答案