Mega Code Archive

 
Categories / PostgreSQL / View
 

Create view from the user defined function

postgres=# postgres=# CREATE TABLE myTable ( postgres(#          id int, postgres(#          sid int, postgres(#          name text); CREATE TABLE postgres=# 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=# postgres=# postgres=# CREATE FUNCTION getData(int) RETURNS SETOF myTable AS $$ postgres$#    SELECT * FROM myTable WHERE id = $1; postgres$# $$ LANGUAGE SQL; CREATE FUNCTION postgres=# postgres=# postgres=# CREATE VIEW vw_GetData AS SELECT * FROM getData(1); CREATE VIEW postgres=# postgres=# SELECT * FROM vw_GetData;  id | sid | name ----+-----+------   1 |   2 | a (1 row) postgres=# postgres=# drop function getData(int) cascade; NOTICE:  drop cascades to rule _RETURN on view vw_getdata NOTICE:  drop cascades to view vw_getdata DROP FUNCTION postgres=# drop view vw_GetData cascade; ERROR:  view "vw_getdata" does not exist postgres=# drop table myTable cascade; DROP TABLE postgres=# postgres=#