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