将PLPGSQL函数转换为Python类方法

时间:2015-05-05 13:50:57

标签: python postgresql plpgsql psycopg2

假设我在PLPGSQL中编写了一堆函数。如何使用psycopg2库使用Python代码获取所有这些函数?

请参阅下面的示例功能:

CREATE OR REPLACE FUNCTION get_player_by_email(email_adress varchar)
RETURNS TABLE(id bigint, email varchar, nick varchar)
AS $$
BEGIN
    RETURN QUERY EXECUTE 
        'SELECT players.id, players.email, nick
        FROM players
        WHERE players.email = $1'
        USING email_adress;
    RETURN;
END
$$ LANGUAGE plpgsql stable;

为什么我需要这个?我有连接到我的数据库的 init 的Python类。我想在 init 中添加以下功能:浏览所有函数,并使用这些函数名称动态创建新方法,这些函数名称完全返回plpgsql函数的功能。例如,我想自动生成get_player_by_email方法:

Class MyDatabase(object):
    def get_player_by_email(self, email):
        pass

0 个答案:

没有答案