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

Reply via email to