Search Postgresql Archives

Re: Hi there, new here and have question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



CREATE OR REPLACE FUNCTION listofemployeebasedondepartment(_id_dept
int)
RETURNS SETOF record AS
$BODY$
DECLARE
  empdata record;
BEGIN

RETURN QUERY
 SELECT
 e.*, d.department_name
 FROM
 employee e, dept d
 WHERE
 e.id_dept = d.id AND
 e.id_dept = _id_dept;

RETURN;
 END;
 $BODY$
 LANGUAGE 'plpgsql';

I can call it by
SELECT listofemployeebasedondepartment(dept_id)
and it gives me return value a set of record,
but when I want to get just one field of those record,
for example
SELECT name FROM listofemployeebasedondepartment(dept_id)
psql gives me error that I don't have column-list or something like that
How to achieve such result?

hi hendry,

simple example:

CREATE OR REPLACE FUNCTION test1(_id int)
  RETURNS SETOF record AS
$BODY$
DECLARE rec record;
BEGIN
	FOR rec IN
		SELECT
			a.foo, b.bar
		FROM
			a, b
		WHERE
			a.id = _id
			AND a.id = b.id
	LOOP
        RETURN NEXT rec;
        END LOOP;

        RETURN;
END;
$BODY$
  LANGUAGE 'plpgsql'

you have to specify the columns when you call your function something like this:

select * from test1(1) as (foo text, bar text);

Jan



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux