我有这个功能,当用户注册时,我将一些数据插入到profiles表中,之后,我想生成一个代码位并将其插入到paring_codes表中,但我在LOG中遇到了这个错误
CREATE OR REPLACE FUNCTION generate_unique_code(user_id UUID)
RETURNS VARCHAR AS $$
BEGIN
RETURN md5(user_id::TEXT || RANDOM()::TEXT);
END;
$$ LANGUAGE plpgsql;`
-- Trigger Function to Handle New User Sign Up
CREATE OR REPLACE FUNCTION handle_new_user()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO public.profiles (id, username)
VALUES (NEW.id, NEW.raw_user_meta_data->>'username');
INSERT INTO public.pairing_codes (code, user_id)
VALUES (generate_unique_code(NEW.id), NEW.id);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
“错误”:“无法关闭准备好的语句:错误:当前事务中止,忽略命令,直到事务块结束(SQLSTATE 25P02):错误:函数generate_unique_code(uuid)不存在(SQLSTATE 42883)”
1条答案
按热度按时间bkkx9g8r1#
我建议更新函数以引用您希望定义它们的特定模式:
public.generate_unique_code()
和public.handle_new_user()
。架构文档