假设我在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