no pb: I am french, so quite skilled on that topic :-) there is only 50 bottles of various malt on the presentoir close to my desk so I must stay reasonnable :-)
Marc MILLAS Senior Architect +33607850334 www.mokadb.com On Thu, Jun 3, 2021 at 11:17 PM Adrian Klaver <adrian.kla...@aklaver.com> wrote: > On 6/3/21 1:01 PM, Marc Millas wrote: > > thanks Adrian, exactly what I was missing :-) > > > > about knowing if I should... > > We have to create a set of triggers (insert, update, delete) within a > > huge set of tables. and that list of tables, and structure of them can > > be customized, maintained, ... > > so we were looking for a standard script to automatize the building of > > the whole thing, taking list of columns and constraints (for PK) > > directly from pg_catalog. > > Now it works :-) > > > > but.. why do you ask that question ? is there any king of hidden wolf we > > didnt see ? > > See David Johnston's answer. Nested quoting will drive you to drink(or > drink more):) > > > > > > > > Marc MILLAS > > Senior Architect > > +33607850334 > > www.mokadb.com <http://www.mokadb.com> > > > > > > > > On Thu, Jun 3, 2021 at 9:11 PM Adrian Klaver <adrian.kla...@aklaver.com > > <mailto:adrian.kla...@aklaver.com>> wrote: > > > > On 6/3/21 12:01 PM, Bruce Momjian wrote: > > > On Thu, Jun 3, 2021 at 08:58:03PM +0200, Marc Millas wrote: > > >> Hi, > > >> > > >> within a function, I want to create another function. > > >> no pb. > > >> but if I write: > > >> declare bidule text; > > >> begin > > >> bidule:='myfunc'; > > >> create function bidule() ... > > >> > > >> > > >> it does create a function named bidule and not myfunc. > > >> so I am obviously missing something too obvious. > > > > > > You can't create functions inside of functions; same for > procedures. > > > > > > > Sure you can: > > > > CREATE OR REPLACE FUNCTION public.test_fnc() > > RETURNS void > > LANGUAGE plpgsql > > AS $function$ > > DECLARE > > bidule text; > > BEGIN > > bidule:='myfunc'; > > EXECUTE 'create function ' || bidule || '() RETURNS void language > > plpgsql AS $fnc$ BEGIN END; $fnc$ '; > > END; > > > > > > $function$ > > > > select test_fnc(); > > test_fnc > > ---------- > > > > \df myfunc > > List of functions > > Schema | Name | Result data type | Argument data types | Type > > --------+--------+------------------+---------------------+------ > > public | myfunc | void | | func > > > > > > Whether you should is another question. > > > > > > -- > > Adrian Klaver > > adrian.kla...@aklaver.com <mailto:adrian.kla...@aklaver.com> > > > > > -- > Adrian Klaver > adrian.kla...@aklaver.com >