0

我正在使用 postgresql 9.6。我构建了一个函数,我在其中执行“选择”,例如:

id = TD["new"]["id"]
qry = plpy.prepare ("SELECT (decode->>'key')::integer AS key FROM table where id = $1;", ["int"])
res= plpy.execute(qry,[id])

请求工作正常,但结果包含键和值,而不仅仅是值。其实结果是这样的:{"key":2937}

我只想要价值。

4

1 回答 1

1

结果对象模拟列表或字典对象。结果对象可以通过行号和列名访问。

create or replace function pf()
returns integer as $$

    query = 'select 1 as key'
    rs = plpy.execute(query)
    plpy.notice(rs.__str__())
    return rs[0]['key']

$$ language plpythonu;

select pf();                                                                                  
NOTICE:  <PLyResult status=5 nrows=1 rows=[{'key': 1}]>
 pf 
----
  1

https://www.postgresql.org/docs/current/static/plpython-database.html

于 2017-04-14T19:14:41.077 回答