我正在尝试创建一个函数和触发器,以便在auth.users insert上运行,但无法将该函数应用到表中,这是语法错误,而且我不太熟悉plpgsql。
如果有人知道错误在哪里,请告诉我我一直在犯错误。
Failed to run sql query: syntax error at or near ";"drop function if exists handle_new_user();
create function handle_new_user()
returns trigger
language plpgsql
security definer set search_path = public
as $$
begin
if new.raw_user_meta_data::json->>'type' = 'practice' then
insert into profiles (user_id, email, username, type, practice_id)
values (
new.id,
new.email,
new.raw_user_meta_data::json->>'username',
new.raw_user_meta_data::json->>'type',
new.id
);
else if new.raw_user_meta_data::json->>'type' = 'salesRep' then
insert into profiles (user_id, email, username, type, rep_id)
values (
new.id,
new.email,
new.raw_user_meta_data::json->>'username',
new.raw_user_meta_data::json->>'type',
new.id
);
end if;
return new;
end;
$$;
create trigger on_auth_user_created
after insert on auth.users
for each row execute procedure handle_new_user();非常感谢
发布于 2022-08-25 16:30:13
我想好了,我需要把其他的东西弄到别的地方
https://stackoverflow.com/questions/73490808
复制相似问题