如何创建函数选择PostgreSQL中的所有列

时间:2018-10-15 11:03:57

标签: postgresql stored-functions

如何创建一个函数(存储过程/存储函数)来选择PgAdmin表中的所有列?一样的一样。

CREATE OR REPLACE FUNCTION GetAllUsers(IN userno integer)
  RETURNS TABLE(all column) AS
$BODY$
BEGIN 

    RETURN QUERY    
        SELECT  *
        FROM Users W 
        WHERE w.UserNo = GetAllUsers.userno;
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION GetAllUsers(integer)
  OWNER TO postgres;

1 个答案:

答案 0 :(得分:2)

您可以使用returns setof users代替returns table (...)

您也不需要昂贵的PL / pgSQL函数。一个简单的SQL函数就足够了:

CREATE OR REPLACE FUNCTION getallusers(p_userno integer)
  RETURNS setof users
$BODY$
   SELECT *
   FROM users 
   WHERE userno = p_userno;
$BODY$
  LANGUAGE sql VOLATILE
  COST 100
  ROWS 1000;