Ich benutze PostgreSQL Version 10 auf MacOS 10.12.6 und möchte eine benutzerdefinierte Plpgsql-Funktion in einer Abfrage verwenden, die für HugSQL zugänglich sein soll. Der folgende Ansatz funktioniert einwandfrei:Verwenden Sie benutzerdefinierte Funktion mit HugSQL
-- :name do-something! :! :1
CREATE OR REPLACE FUNCTION helper()
... (function body of helper)
LANGUAGE plpgsql;
INSERT INTO SomeTable (someColumn) VALUES (helper());
Das funktioniert seit HugSQL mir erlaubt mehrzeiligen SQL-Anweisungen zu schreiben, und ich kann die Funktionsdefinition von helper()
umfassen.
Allerdings frage ich mich, ob es wirklich effizient ist, dies zu tun, da jetzt ich die Funktion jedes Mal neu definiere, wenn die Abfrage do-something!
ausgeführt wird. Ich habe versucht, die Funktionsdefinition an den Anfang der Eingabedatei zu setzen, aber es führte nur zu einer Compiler-Ausnahme.
Frage: Was ist der beste Weg dazu?