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