我在 macOS 10.12.6 上使用 PostgreSQL 版本 10,并希望在 HugSQL 可以访问的查询中使用自定义 plpgsql 函数。以下 ansatz 可以正常工作:
-- :name do-something! :! :1
CREATE OR REPLACE FUNCTION helper()
... (function body of helper)
LANGUAGE plpgsql;
INSERT INTO SomeTable (someColumn) VALUES (helper());
这很有效,因为 HugSQL 允许我编写多行 SQL 语句,并且我可以包含helper()
.
但是,我想知道这样做是否真的有效,因为现在我每次do-something!
运行查询时都重新定义函数。我试图将函数定义放在输入文件的顶部,但它只会导致编译器异常。
问题:最好的方法是什么?