[英]User Defined Functions returning Tables in PostgreSQL
我正在嘗試創建一個UDF,該UDF返回包含四個值的表:
CREATE TABLE ts_table
(
id character varying,
year integer,
rank double precision,
votes integer
);
然后,使用UDF,我必須返回一個由定義的表(類似):
CREATE FUNCTION ts_myfunc(text) RETURNS SETOF ts_table AS $$
'SELECT id,year,rank,votes FROM productions NATURAL JOIN directors NATURAL JOIN ratings WHERE attr is NULL AND pid=$1 ORDER BY year;'
$$ LANGUAGE SQL;
但是,當我嘗試使用該命令創建UDF時,
ERROR: syntax error at or near "'SELECT id,year,rank,votes FROM productions NATURAL JOIN directors NATURAL JOIN ratings WHERE attr is NULL AND pid=$1 ORDER BY year;'"
LINE 2: 'SELECT id,year,rank,votes FROM productions NATURAL JOIN dir...
更改以下行: 'SELECT id,year,rank,votes FROM productions NATURAL JOIN directors NATURAL JOIN ratings WHERE attr is NULL AND pid=$1 ORDER BY year;'
至
SELECT id,year,rank,votes FROM productions NATURAL JOIN directors NATURAL JOIN ratings WHERE attr is NULL AND pid=$1 ORDER BY year;
(刪除單引號)將解決此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.