在这个(vey精简版)查询中,如何从RETURNING返回myfile_key?
CREATE OR REPLACE FUNCTION myfunction (src int, OUT result int) AS $$
plan = plpy.prepare("INSERT INTO myfile VALUES (nextval('seq_myfile'),$1,$2)
RETURNING myfile_key", ["integer","integer"] )
$$ LANGUAGE plpythonu;
(插入的第一个字段是myfile_key)
代码不会将值返回到输出,并且无法将其作为标准python结果进行查询,如:
result = rv[0]["myfile_key"]
答案 0 :(得分:0)
我认为您的代码中缺少对plpy.execute
的调用。您原则上有权访问RETURNING
列,例如rv[0]["myfile_key"]
。什么不起作用是在PL / Python中分配OUT
参数。我建议您使用普通的OUT
语句重写没有return
参数的函数。