I am following along with the pl/pgsql docs here: http://www.postgresql.org/docs/current/static/plpgsql-declarations.html
In section 37.4.3. Row Types I have altered the function slightly (I finished the where ... clause) :
CREATE or REPLACE FUNCTION use_two_tables(tablename) RETURNS text AS ' DECLARE in_t ALIAS FOR $1; use_t table2name%ROWTYPE; BEGIN SELECT * INTO use_t FROM table2name WHERE f1 = ''a''; RETURN in_t.f1 || use_t.f3 || in_t.f5 || use_t.f7; END; ' LANGUAGE plpgsql;
Just before that, I created two tables:
CREATE TABLE tablename( f1 text, f2 text, f3 text, f4 text, f5 text, f6 text, f7 text ); CREATE TABLE table2name( f1 text, f2 text, f3 text, f4 text, f5 text, f6 text, f7 text );
and put in some data:
insert into tablename values ('a', 'bb', 'ccc', 'dddd', 'eee', 'ff', 'g');
insert into tablename values ('aa', 'bbb', 'cccc', 'ddd', 'eeee', 'fff', 'gg');
insert into table2name values ('aaaa', 'bbb', 'cc', 'd', 'ee', 'fff', 'gggg');
insert into table2name values ('a', 'bb', 'ccc', 'dddd', 'eeeee', 'ffffff', 'ggggggg');
Now, how do I call the function?
CREATE FUNCTION # select use_two_tables(tablename); ERROR: column "tablename" does not exist # select use_two_tables(f1); ERROR: column "f1" does not exist # select use_two_tables(table2name); ERROR: column "table2name" does not exist
_________________________________________________________________
Check out the new MSN 9 Dial-up — fast & reliable Internet access with prime features! http://join.msn.com/?pgmarket=en-us&page=dialup/home&ST=1
---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster