我有一个supplyplpgsql数据库与10表.我也有auth.users.我试图写一个函数,将插入一个新的行在每一个10公共.tables当一个新用户注册.我已经使用了安全定义器,并有一个功能正常工作,但它只允许我插入到public.table1,如果我试图添加其他公共表的功能,那么它失败.
我把所有的RLS都设置为allowAll,我也试过两个单独的函数,两个函数都使用auth.user表中的触发器,一个写public.table1,另一个写public.table2,但是似乎什么都不起作用。我对plpgsql不太熟悉,所以如果有人能告诉我写代码的正确方法,我现在所做的工作,但只有一个公共表插入如下所示
Begin
Insert into public.tableone(id)
Values (new.id);
Returns new;
字符串
我相信还有其他方法可以做到这一点,例如CTE,但我不能正确地编写代码。我是初学者,所以请对我放松。
1条答案
按热度按时间ruoxqz4g1#
如果所有插入到其他表中的都是新ID,则不需要CTE。
字符串
在Postgres 11之前的旧版本中,使用旧的(误导性的)语法:
型
相关: