0

我的 PHP 类中有这个查询:

    $this->query = "SELECT a.x, b.y, c.z FROM aaa a INNER JOIN bbb b ON b.ida = a.ida ";
    $this->query.= "INNER JOIN ccc c ON c.idb = b.idb WHERE a.ida = :ida";
    $this->stmtparam = array(':ida' => $this->ida);
    return parent::fillArray(); // it fills a PDO FETCH_ASSOC array and returns it as JSON

假设这是一个复杂 10 倍的查询,而我在公司信息系统中有很多这样的查询;

我的问题是:是否可以在 postqresql 中创建一个存储函数,它执行相同的操作并返回许多表的 SET,然后将结果提取到 php 中的关联数组中?

这样做值得吗?

4

1 回答 1

1

postgresql 没有存储过程,但是您可以编写一个本质上相同的函数。我更喜欢将复杂的查询放入一个函数中。这样您就可以在数据库端进行修复和性能改进,而不必每次都推出新的 PHP 代码。

这是一个演示如何创建 pg 函数并从 PHP 调用它的资源:http: //pgedit.com/resource/php/pgfuncall

于 2013-06-03T15:08:58.767 回答