Thread: visibility rule in a EXECUTE with multi sql
hi all, when I do a: execute 'set search_path to bar; create table foo(f1 int);insert into table foo blah..blah;' in plpgsql, I found that the insert statement always report that "can't found table foo" or something like that. I guess it's visibility rule in PostgreSQL, but I can't found clear docs, can someone give me some hint about that? thanks and best regards laser
laser <laserlist@pgsqldb.com> writes: > when I do a: > execute 'set search_path to bar; create table foo(f1 int);insert into > table foo blah..blah;' > in plpgsql, I found that the insert statement always report that "can't > found table foo" or something > like that. Well, yeah. The whole string is parsed, then executed, so you are trying to parse the insert before foo exists. Break it into multiple EXECUTEs. Or maybe you want "create table as select ...". regards, tom lane