如何使用doctrine调用带有输出参数的Oracle存储过程?

时间:2016-01-27 21:57:43

标签: symfony doctrine-orm oracle11g doctrine

我一直在使用doctrine来调用Oracle中的存储过程:

$sql = "CALL namespace.my_proc(".$data_source_id.", to_date('".$account_period_start."', 'YYYY-MM-DD'),'".$updated_by."')";

$stmt = $this->getDoctrine()->getManager('fdw')->getConnection()->prepare($sql);
            $result = $stmt->execute();
            $stmt->closeCursor();

现在,DBA团队已经更改了其中一个存储过程以接受2个输出参数(x和y),我不知道如何实现这一点。有人可以帮助我吗?

谢谢

1 个答案:

答案 0 :(得分:3)

我能够找到信息。希望它可以帮到某人。

$sql = "CALL namespace.my_proc(".$data_source_id.", to_date('".$account_period_start."', 'YYYY-MM-DD'),'".$updated_by."', :x, :y)";
  $stmt = $this->getDoctrine()->getManager('fdw')->getConnection()->prepare($sql);
            $stmt->bindParam(':x', $x, \PDO::PARAM_INPUT_OUTPUT, 32);
            $stmt->bindParam(':y', $y, \PDO::PARAM_INPUT_OUTPUT, 32);
            $result = $stmt->execute();