我是一个noob免责声明:
我对Postgres很新,我不了解PL功能的局限性和能力。我想做一些我认为最好用C完成的简单排序,但我对如何从代码块中从数据库中获取数据感到困惑。从我所看到的,似乎我需要建立从C到数据库的连接然后运行查询......我不禁想到必须有更好的方法(或者我缺少一些东西) - 连接到容器函数所属的数据库似乎是不必要的正式。
我正在尝试做什么:
我有一个包含以下字段的表template_set:template_set_id,template_set,next_template_set_id。记录组将具有相同的template_set值,表明它们属于一起。我希望能够选择这些记录,并通过仅使用next_template_set_id值使它们按顺序显示。简单的做法是创建一个堆栈并将最后一个项目(next_template_set_id = null)推送到堆栈,然后将next_template_set_id是堆栈中最后一个项目的ID推送到堆栈,直到所有项目为止筋疲力尽很简单,但为了做到这一点,我需要将sql数据的集合,数组或元组放入函数中。我可以有一个函数get并返回一个setof template_set表供ac函数进行排序但如果我这样做,那个setof函数将存在于postgres中,我不确定我是否可以将该返回传递给ac函数(是否有一个结构可以采取那种数据)?
问题:
获取postgresql c函数从其所属的数据库中获取数据的最佳方法是什么?你可以从ac函数中查询数据库而不创建连接和游标的所有开销,或者你想要c函数操作的所有数据都需要传递给函数(如果是这样的话,怎么办?你传递了多个数据记录)?
答案 0 :(得分:1)