我有用户表和配置文件表。当在 user 表中创建记录时,它会自动在 profile 表中使用返回的 id 创建一条记录。配置文件表如下:
create table app_public.profiles (
user_id int not null primary key references users,
first_name text check (char_length(first_name) < 50),
last_name text check (char_length(last_name) < 50),
display_name text
);
当用户更新配置文件表并为 和 输入值时first_name
,last_name
我想要一个触发器函数来连接两列并使用结果进行更新display_name
。
目前我将触发功能定义为
create function app_public.tg_user_display_name() returns trigger as $$
begin
NEW.display_name = CONCAT(profiles.first_name || ' ' || NEW.profiles.last_name);
return NEW;
end;
$$ language plpgsql volatile set search_path from current;
我也有触发器
create trigger _500_update_display_name
before update on app_public.profiles
for each row
execute procedure app_public.tg_user_display_name();