我一直在尝试让 plv8 在 PostgreSQL 10 上工作(完全干净安装,以前从未使用过)。我创建了一个这样的函数:
CREATE OR REPLACE FUNCTION FindActivitiesJS(_id integer)
RETURNS Text AS
$BODY$
var queryResult = plv8.execute('SELECT * FROM activities WHERE activityid = $1', [_id]);
return JSON.stringify(queryResult);
$BODY$
LANGUAGE plv8 VOLATILE;
当我运行时:
select * from findactivitiesjs(3)
我得到:
错误:错误:没有参数 $0 详细信息:findactivitiesjs() 第 2 行:var queryResult = plv8.execute('SELECT * FROM activities WHERE activityid = SQL state: XX000
我还尝试将 SQL 查询更改为SELECT * FROM activities WHERE activityid = $0
相同的结果。这与查询中的参数有关,因为没有 WHERE 子句的 SELECT 语句可以正常工作。
做错了什么?