2017-01-24 5 views
2

Можно ли позвонить plpgsql function (или любым PostgreSQL function) из функции PL/Python?Вызвать plpgsql Функция из функции PL/Python в PostgreSQL

Так, что-то вроде этого:

CREATE FUNCTION somefunc() RETURNS void AS $$ 
DECLARE 
    ... 
BEGIN 
    ... 
END; 
$$ LANGUAGE plpgsql; 

И затем использовать его здесь

CREATE FUNCTION pythonFunc() RETURNS void AS $$ 
    ... 
    someFunc() #postgreSQL function 
    ... 
$$ LANGUAGE plpythonu; 

ответ

3
create function plpython_function() 
returns void as $$ 

    plpy.execute('select plpgsql_function()') 

$$ language plpythonu; 

PL/Python Database Access

+0

Как бы вы передать аргументы от plpython_function к plpgsql_function? Короткий ответ на этот вопрос: «импортируйте plpy и используйте plpy.quote_literal». Мой ответ на это будет: «все очень хорошо, но 8.2 (на самом деле, Greenplum) не имеет plpy.quote_literal, на самом деле quote_literal, который я хочу назвать!» Проблема с загрузкой. – PhilHibbs

Смежные вопросы