首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SupaBase plpsql

SupaBase plpsql
EN

Stack Overflow用户
提问于 2022-08-25 16:19:53
回答 1查看 31关注 0票数 -1

我正在尝试创建一个函数和触发器,以便在auth.users insert上运行,但无法将该函数应用到表中,这是语法错误,而且我不太熟悉plpgsql。

如果有人知道错误在哪里,请告诉我我一直在犯错误。

代码语言:javascript
复制
Failed to run sql query: syntax error at or near ";"
代码语言:javascript
复制
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();

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2022-08-25 16:30:13

我想好了,我需要把其他的东西弄到别的地方

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73490808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档