postgreSQL pl / python как мне получить RETURNING из запроса? - PullRequest
0 голосов
/ 04 августа 2011

в этом (очень сжатом) запросе, как можно вернуть myfile_key из RETURNING?

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 голосов
/ 06 августа 2011

Я предполагаю, что в вашем коде отсутствует звонок на plpy.execute.Вы в принципе имеете право доступа к RETURNING столбцам, таким как rv[0]["myfile_key"].Что не работает, так это присвоение OUT параметров в PL / Python.Я предлагаю переписать вашу функцию без OUT параметров, используя обычный оператор return.

...