Return a table from a function : Function Return « Store Procedure Function « PostgreSQL






Return a table from a function


postgres=# CREATE TABLE myTable (
postgres(#          id int,
postgres(#          sid int,
postgres(#          name text);
CREATE TABLE
postgres=#
postgres=# insert into myTable values(1,2,'a');
INSERT 0 1
postgres=# insert into myTable values(2,3,'b');
INSERT 0 1
postgres=#
postgres=# select * from myTable;
 id | sid | name
----+-----+------
  1 |   2 | a
  2 |   3 | b
(2 rows)

postgres=#
postgres=# CREATE FUNCTION getData(int) RETURNS SETOF myTable AS $$
postgres$#    SELECT * FROM myTable WHERE id = $1;
postgres$# $$ LANGUAGE SQL;
CREATE FUNCTION
postgres=#
postgres=# SELECT * FROM getData(1) AS t1;
 id | sid | name
----+-----+------
  1 |   2 | a
(1 row)

postgres=#
postgres=# drop function getData(int);
DROP FUNCTION
postgres=# drop table myTable;
DROP TABLE
postgres=#


           
       








Related examples in the same category

1.Define function to add two parameters together
2.Return entire row
3.Using the result set returned from the function
4.Returning a concatenated string
5.Return 'double' from function
6.A SQL function that returns a book title based on the ID number passed to the function