0
我的Postgres 9.3如何傳遞命名參數where子句中存儲過程的Postgres
CREATE OR REPLACE FUNCTION f_tsd(koakuupav date, kolkuupaev date)
RETURNS TABLE (
isikukood int
) AS
$func$
select 1 where current_date between koakuupaev and kolkuupaev
$func$ LANGUAGE sql STABLE;
嘗試,但遇到錯誤
ERROR: column "koakuupaev" does not exist
在PLPGSQL它會導致同樣的錯誤,在運行時:
如何將參數傳遞給Postgres中的where子句? 根據文檔命名參數必須工作。
缺少
pav
的e
?如果我沒有弄錯,在9.2中添加了在SQL函數中使用命名參數的能力。如果您使用的是舊版本,則需要使用$ 1和$ 2。但無論哪種情況,您都需要將返回表的數據類型更改爲'integer'或將'1'更改爲數字值(我想這就是您的第二個版本的問題) – 2014-11-01 14:39:13我正在使用9.3。根據文檔命名參數必須工作。我將返回類型更改爲整數,但問題仍然存在 – Andrus 2014-11-01 18:03:26