Hi: CREATE OR REPLACE FUNCTION MakeTables ( NameTable text ) RETURNS void as $$ BEGIN execute 'CREATE TABLE '||$1||' ( id int, name text )'; END; $$ LANGUAGE 'plpgsql';
2008/8/7 Anderson dos Santos Donda <[EMAIL PROTECTED]> > Hello All! > > Its my first time here in maillist and I started work with postgre on last > moth. > > My questions is: Threre is a way to create tables dinamic? > > Example: > > To create a table we use CREATE TABLE TableName ...... > > In my db, I have many tables with diferents names but with same colums > > Example: > > TableOne ( id int, name text ); > TableTwo ( id int, name text ); > TableThree ( id int, name text ); > > So, I created a function to create me this tables with diferents names > > CREATE OR REPLACE FUNCTION MakeTables ( NameTable text ) RETURNS VOID > $$ > BEGIN > CREATE TABLE NameTable ( id int, name text ); > END; > $$ > LANGUAGE 'plpgsql'; > > But, the plpgsql or postgre don't accept this.. > > So, How can I create a table with my function? > > Thanks for any helps!!! > > PS : If somebody want knows why I need to create this function, is because > in my db have 1000 tables with the some colums, and each time I have a new > client, I need to create this tables manually. > -- Kind Regards, Mian