gpt4 book ai didi

python - 在 plpgsql (postgresql) 或 python 类中创建函数哪个更好?

转载 作者:行者123 更新时间:2023-11-29 14:34:33 24 4
gpt4 key购买 nike

我遇到了这个问题,我不知道我是否应该使用 plpgsql 在 Postgresql DB 上创建函数,或者我是否应该在 python/java 上的类中创建函数,无论哪种语言编程都可行。

我的老板问我为什么我在 plpgsql 上而不是在 python 上编写函数,我无法给他一个可靠的答案来说明为什么它更好。

我用谷歌搜索了一下,但找不到任何相关信息。关于在 plpgsql 上执行该函数,我唯一能想到的是,如果我更改编程语言,我唯一需要做的就是调用该函数,而不是用新语言重写它。

这是我在 stackoverflow 成员的帮助下编写的 plpgsql 示例,我应该在 python 类中重写它还是将其作为函数留在数据库中并从 python 类中调用该函数?

CREATE OR REPLACE FUNCTION createid(idslist varchar[], objecttype varchar)
RETURNS TABLE(original_id varchar, new_id varchar) as
$$
declare
l_prefix text;
BEGIN
IF LOWER(objectType) = 'global' THEN
l_prefix := 'GID';
ELSE
l_prefix := 'ORG';
END IF;
RETURN QUERY
INSERT INTO idstable(original_id, new_id)
select t.x, l_prefix||nextval('mapSquema.globalid')::TEXT
from unnest(idslist) as t(x)
returning *
END;
$$ LANGUAGE plpgsql;

最佳答案

存储过程一般有一些优点:

  • 可以最大限度地减少向客户端移动数据,
  • 可以减少网络流量,
  • 可以从不同的环境轻松访问服务器端代码,
  • 有助于数据处理部分和数据呈现部分的分解,
  • 使用安全定义器函数,您可以将安全性提高到没有存储过程时不可能达到的水平。

有时这些功能很有趣,有助于开发非常快速且维护良好的应用程序。

关于python - 在 plpgsql (postgresql) 或 python 类中创建函数哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47088175/

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