Hello, Try this: CREATE FUNCTION _testcreate () RETURNS text AS ' BEGIN CREATE TABLE switch_table2 (switch_id varchar(32), selection_name varchar(100)); RETURN ''true''; END; ' language 'plpgsql';
SELECT _testcreate(); Result: snlsor=# SELECT _testcreate(); _testcreate ------------- true (1 row) me=# \d List of relations Name | Type | Owner ----------------+----------+-------- switch_table2 | table | me > -----Original Message----- > From: Seethalakshmi VB [SMTP:[EMAIL PROTECTED]] > Sent: vrijdag 24 januari 2003 09:37 > To: [EMAIL PROTECTED] > Subject: [SQL] Creating tables from within functions > > Is it possible to issue a CREATE TABLE statement from inside of a > PostgreSQL > function? If not, then how about from within a PL/pgSQL function? I have > tried a lot of different permutations but can't seem to get it to compile > and/or run cleanly. For example, consider: > > CREATE FUNCTION _testcreate () RETURNS text AS ' > BEGIN > CREATE TABLE switch_table2 (switch_id varchar(32), > selection_name varchar(100)); > end; > ' language 'plpgsql'; > > What is wrong with this? What type should be returned? Or perhaps it is > simply not possible to create a table from within a function? > > Please give me the reply soon as possible > Thanks! > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org