postgreSQL pl / python如何从查询中获取RETURNING?

时间:2011-08-04 19:58:29

标签: python postgresql plpython sql-returning

在这个(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"] 

1 个答案:

答案 0 :(得分:0)

我认为您的代码中缺少对plpy.execute的调用。您原则上有权访问RETURNING列,例如rv[0]["myfile_key"]。什么不起作用是在PL / Python中分配OUT参数。我建议您使用普通的OUT语句重写没有return参数的函数。