gpt4 book ai didi

java - 删除后我应该如何将 userId(或其他参数)传递给 PSQL 触发器?

转载 作者:行者123 更新时间:2023-12-02 00:33:29 24 4
gpt4 key购买 nike

我想将参数传递到触发器函数中,该函数在删除数据库中的实体记录后调用。有没有办法在应用程序级别上做到这一点?有没有使用“SET”操作的解决方案?或者也许我可以向同一事务添加一个参数,该参数用于删除操作?

最佳答案

这里有几个选择。
1. 您可以将application_name环境变量设置为用户名,然后在触发器中检索它。 2. 可以按列扩展表,并在insert/update/delete语句中将用户名发送到数据库。

SET application_name = 'user name';

-- in the trigger:

SELECT application_name FROM pg_stat_activity WHERE pid = pg_backend_pid();

ALTER TABLE t ADD COLUMN user_name text;

-- and in the trigger (depending on context):

my_user := NEW.user_name;
or
my_user := OLD.user_name;

关于java - 删除后我应该如何将 userId(或其他参数)传递给 PSQL 触发器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com