Auf Thema antworten

wie gesagt, Du scheinst EXECUTE noch nicht gefunden zu haben:


[code]

postgres=# create or replace function create_table(colname text) returns text as $$begin execute 'create table ludwigmller(id serial, ' || colname || ' text);'; return true; end$$language plpgsql;

CREATE FUNCTION

postgres=# \d ludwigmller

Did not find any relation named "ludwigmller".

postgres=# select * from create_table('bla');

 create_table

--------------

 true

(1 row)


postgres=# \d ludwigmller

                            Table "public.ludwigmller"

 Column |  Type   | Collation | Nullable |                 Default                

--------+---------+-----------+----------+-----------------------------------------

 id     | integer |           | not null | nextval('ludwigmller_id_seq'::regclass)

 bla    | text    |           |          |


postgres=#

[/code]


Achtung: language ist plpgsql, nicht sql.


Zurück
Oben