2
的PostgreSQL 9.5使用VS任何CREATE FUNCTION
我试图环绕我怎么能去创建,将工作与此类似,但未能取得任何进展的功能我的头。我需要做些什么才能适当地完成这项工作。
SELECT * FROM get_all_rows ('{Home,Away}','{LF,RL,CENTER}','2016-06-01 00:00:00','2016-06-30 23:59:59')
-- '2016-06-08 12:24:50','2016-06-09 04:59:45','SW'
-- '2016-06-08 07:12:12','2016-06-09 08:55:25','NW'
CREATE OR REPLACE FUNCTION get_all_rows (
tbl TEXT,
disp TEXT[],
area TEXT[],
current TIMESTAMP,
future TIMESTAMP
)
RETURNS TABLE (
a TIMESTAMP,
b TIMESTAMP,
c TEXT
) AS
$func$
BEGIN
EXECUTE
'SELECT
door_time,
guard_time,
area
FROM
' || quote_ident(tbl) || '
WHERE
disposition = ANY (disp)
and area = ANY (area)
and door_time IS NOT NULL
and guard_time IS NOT NULL
and arrival >= arrival_begin
and arrival <= arrival_end';
END
$func$ LANGUAGE plpgsql;
你可能想'返回查询EXECUTE',而不是简单的'EXECUTE'(这是在当前的功能一个空操作) 。 – pozs
谢谢你的提示! – Traxus