> > Hi > > I am learning plpgsql and am getting errors on this simple function: > > CREATE OR REPLACE FUNCTION test2(tab1 text, tab2 text ) > RETURNS text AS > $$ > BEGIN > EXECUTE 'create table ' || quote_ident(tab2) || ' as Select * from ' || > quote_ident(tab1); > RETURN 'done'; > END; $$ > LANGUAGE 'plpgsql' VOLATILE;
Works for me, without errors:
test=# create table tab1(i int); CREATE TABLE Zeit: 0,850 ms test=*# CREATE OR REPLACE FUNCTION test2(tab1 text, tab2 text )
RETURNS text AS $$ BEGIN EXECUTE 'create table ' || quote_ident(tab2) || ' as Select * from ' || quote_ident(tab1); RETURN 'done'; END; $$ LANGUAGE 'plpgsql' VOLATILE;
CREATE FUNCTION Zeit: 0,472 ms test=*# select * from test2('tab1','tab2'); test2 ------- done (1 Zeile)
Zeit: 1,844 ms
Please show the error you got.
Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°