1

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!。関数定義を入力ファイルの先頭に配置しようとしましたが、コンパイラ例外が発生するだけでした。

質問:これに対する最善の方法は何ですか?

4

1 に答える 1