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!
。関数定義を入力ファイルの先頭に配置しようとしましたが、コンパイラ例外が発生するだけでした。
質問:これに対する最善の方法は何ですか?